变量溢出--Java开发入门(五)

变量有取值范围,当给变量的符值超过其取值范围时则会发生溢出。变量最终的值和预期的值会相差较大。

byte类型变量长度是一个字节(8位)取值范围是-128127
short类型变量长度是两个字节(16位)取值范围是-3276832767
int类型变量长度是四个字节(32位)取值范围是-21474836482147483647
long类型变量长度是八个字节(64)取值范围是-92233720368547758089223372036854775807
public class VariableOverflow {
    public static void main(String[] args) {
        byte b = (byte) (100 + 100);
        short s = (short)(30000 + 30000);
        int i = 2147483647 + 5;
        long l = 9223372036854775807L + 5L;

        System.out.println("b = " + b);
        System.out.println("s = " + s);
        System.out.println("i = " + i);
        System.out.println("l = " + l);
    }
}

运行结果是:

b = -56
s = -5536
i = -2147483644
l = -9223372036854775804

注:变量使用时需要注意变量的取值范围,当变量计算的结果数值较大时应该使用取值范围更大类型的变量。


版权声明:本文为weixin_47439387原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。