您的位置:首页 > Web前端 > JavaScript

JSE学习笔记---关于数据类型那点事儿

2015-04-11 15:27 288 查看
本文总结了三个不容易被注意到的三个数据类型的特殊用法,

1. 二进制

java7以后,可以用前缀”0b“表示二进制数,也可以在数字之间,为数字加下划线分割,方便阅读。

例如:

0b1110_1010_0101=0b111010100101

2. 浮点数

浮点数不适用于金融等精确计算中,原因是浮点值采用二进制系统表示,而二进制系统无法精确表示1/10,

正如十进制无法精确表示1/3一样。

例如:2.0-1.1=0.9,下面却输出0.8999999999999999

所以应该使用BigDecimal类,它的subtract方法表示减法运算。

3.char类型

char类型用于表示单个字符,通常用来表示字符常量。例如'A'是编码为65对应的字符常量。

Unicode编码单元可以表示为16进制的值,其范围为:\u0000 ~ \uffff。



详细注释与完整代码如下(JDK1.8运行测试通过):

<strong><span style="font-size:18px;">public class JSETest
{
    public static void main(String\u005B\u005D args)
    {
        /*1.
        二进制的表示
        java7以后,可以用前缀”0b“表示二进制数,也可以在数字之间,为数字加下划线分割,方便阅读。
        例如:
        111110101(二进制)=501(十进制)
        下面直接调用输出语句,会把括号内的数字转为十进制整型输出
        */
        System.out.println(11110101);             //输出:  111110101
        System.out.println(0b1110_1010_0101);    //输出:   3749
        System.out.println(0b1110_1010_0101);  //输出:       3749
        
        /*  2.浮点数
            浮点数不适用于金融等精确计算中,原因是浮点值采用二进制系统表示,而二进制系统无法精确表示1/10,
            正如十进制无法精确表示1/3一样。
            例如:2.0-1.1=0.9,下面却输出0.8999999999999999
            所以应该使用BigDecimal类,它的subtract方法表示减法运算
        */
        System.out.println(2.0-1.1);    //输出:    0.8999999999999999
        /*BigDecimal的valueOf方法API:
          Translates a double into a BigDecimal,
          using the double's canonical string representation provided by the Double.toString(double) method. */
         java.math.BigDecimal bd1=java.math.BigDecimal.valueOf(2.0);
         java.math.BigDecimal bd2=java.math.BigDecimal.valueOf(1.1);
          System.out.println(bd1.subtract(bd2)); //输出:    0.9
        /*3.char类型
           char类型用于表示单个字符,通常用来表示字符常量。例如'A'是编码为65对应的字符常量。
           Unicode编码单元可以表示为16进制的值,其范围为:\u0000 ~ \uffff。
                例如main方法参数里的[和],可以用\u005B和\u005D表示。
        */
        System.out.println(\u0022 这里双引号里的内容哦 \u0022); //转义序列:\"  双引号  Unicode值:\u0022
    }

}
</span></strong>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: