基本类型常见易错点

1、byte,short等的赋值问题,若赋值的数字在其合理范围的,如-128至127的数字赋值给byte,则可以直接赋值,不需要强制类型转换,否则其他情况需要进行类型转换。

 public static void main(String[] args) {
        byte b1 = 12;
        //值不在-128至127之间的不可直接赋值
        byte b2 = 128;
        short s1 = 128;
        //值不在-2^16至2^16-1之间的不可直接赋值
        short s2 = 9999999999999;
    }

2、对long进行赋值时,若所赋值在int的合法范围内,比如-2^32至2^32-1之间,则可以直接赋值,这种情况将会自动从int

提升类型至long,但是若不在int合理范围内,则需要将在数字后面加上 l 或 L 

public static void main(String[] args) {    
       //在int合法范围内,可以直接赋值
       long l1 = 128;
       //不在int合法范围内,应该在值后面加上L,否则会报错
       long l2 = 9999999999L;
    }

3、对float进行直接赋值时,应当在浮点数后面加上f或F,或者进行强制类型转换,否则将报错

public static void main(String[] args) {
        //应该加上f,否则报错
        float f = 1.89f;
    }

4、boolean类型的直接量只有true和false,不能以0或非零的数来代替

5、浮点数的特殊值,以及浮点数除以0并不会出现异常

 6、移位操作的特殊之处,计算机内存的都是数字的补码,移位操作都是对补码操作

 

posted @ 2018-10-01 15:48  梦里下起了雪  阅读(134)  评论(0编辑  收藏  举报