Java中的基本数据类型

来源:互联网 发布:交叉熵 圣经网络 编辑:程序博客网 时间:2024/05/29 03:11


1. Java语言整数型默认为int型,如果要声明成long型,在变量值后面加上L;

 如:long l = 99999999999L;  long a = 2147483647;  //程序的执行过程:先将赋值号后面的数字看做int型的字面值,在将该int型的字面值转化为long型的对象a,因为2147483647正好是int型数据的最大值,所以程序不会报错。

    long b = 2147483648;//程序的执行过程如上所示,但是后面的数据超出了int型的最大范围,所以编译不通过。

2. 规则:

     如果赋值号后面的字面值本身没有超过前面的数据类型的取值范围,那么可以直接赋值。

     如: byte b1 = 10;//后面的10int型的字面值,本来要进行强制类型转化才能编译通过,但是由于10本身没有超出byte的取值范围,所以可以直接赋值。byte b2 = 127;//可以通过编译;byte b3 = 128;//不能通过编译,因为128本身超出了byte的取值范围。

       shortchar类型同上面的byte类型一致。

3. 上面的结论:如果整数没有超出byteshortchar的取值范围,可以直接将这个整数赋值给byteshortchar

4. 将long类型转换成int型,不能自动类型转换,需要强制类型转换

5.大容量向小容量转换,需要强制类型转换(编译能通过,但是运行阶段可能损失精度)。


图中所示:所有的浮点型的容量都要大于整型的容量,不论占有字节的多少。即float>long,另外short类型和char类型属于同一级。



6.byteshortchar做混合运算的时候先各自转换成int在做运算。


0 0
原创粉丝点击