一、基本数据类型
1、 java中共有8中基本类型,4种整型、2种浮点类型、1中用于表示unicode编码的字符单元的字符类型char和1种表示真值的boolean类型。
2、整型(byte、short、int和long)
2.1 java与c/c++不同,整型数值所占的字节数与目标机器无关:int(4字节)、short(2字节)、byte(1字节)和long(8字节)。
2.2 java没有无符号类型
3、浮点型(float和double)
3.1 表示溢出和出错情况的三个特殊浮点数值:正无穷大、负穷大和NaN(不是一个数字)
如:System.out.println(0.0/0) 输出:NaN(非数;负数平方根也是这个结果)
System.out.println(15.0/0) 输出:Infinity(正无穷大)
※这里可以看出浮点数计算中0做除数不会出现异常,但是整型数的话,会有。
3.2 常量Double.NaN、Double.POSITIVE_INFINITY和Double.NEGATIVE_INFINITY表示以上三个特殊的值。但在实际应用中很少遇到;特别说明的是判断是否是Double.NaN不能用x==Double.NaN的形式,java认为所有“非数值”都是不相同的,但是可以使用Double.isNaN(x)去判断。
3.3 浮点数不使用于禁止出现舍入误差的金融计算中;如果需要应该使用BigDecimal类。
如:System.out.println(2.0 - 1.1) 输出:0.8999999999999999
4.1表示单个字符,通常表示字符常量。unicode编码单元可以表示为十六进制值,范围为\u0000到\uffff。
4.2 代码点:从jdk5开始,指与一个编码表中的某个字符对应的代码值;unicode标准中,用十六进制书写,并加上前缀U+,如字母A: U+0041。
4.3public static void main(String\u005B\u005D args)这在eclipse是可以编译测试通过的。
5、boolean类型
5.1有两个值true和false,整型值和布尔值之间不能相互转换。
5.2c++中,数值和指针可以代替boolean值。整数0代表false,非0相当于true;这个在java中不行。
如:if(x = 0)在java中不能通过编译的,而c++可以编译运行,为false。
本文出自 “Myworld” 博客