java基本数据类型

2019-05-10  本文已影响0人  pretty_rain

数据类型分为两大类,下面详细介绍基本数据类型:

1.基本数据类型的字节数和范围

注意:整数默认是int类型,浮点数默认是double,long类型的数要加l或者L,单精度的浮点数要加F或f
1、
基本类型:short 二进制位数:16
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)
2、
基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1)
3、
基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)
4、
基本类型:float 二进制位数:32
包装类:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方)
最大值:Float.MAX_VALUE=3.4028235E38 (2的128次方-1)
5、
基本类型:double 二进制位数:64
包装类:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方)
最大值:Double.MAX_VALUE=1.7976931348623157E308 (2的1024次方-1)

类型 占用字节 最小值 最大值
boolean 1字节
byte 1字节 -2^7 2^7 - 1
short 2字节 -2^15 2^15 - 1
int 4字节 -2^31 2^31-1
long 8字节 -2^63 2^63-1
char 2字节 -128 127
float 4字节 2^-149 2^128-1
double 8字节 2^-1074 2^1024-1

2.数据类型转换

1.boolean类型不参与转换
2.默认转换

3.强制转换

4.思考题

            float f1 = 12.345f;
            float f2 = (float)12.345;

执行都没有问题但是f1是正常赋值,f2是double转换来的,转换就要截取double的4个字节这样容易丢精度

            byte b1 = 3;
            byte b2 = 4;
            byte b3 = b1 + b2;
            byte b4 = 3 + 4;

有问题,第三行会报错,两个byte类型的数据运算会转换成int类型,第四行没错,因为在对应的class文件中我们会看到在编译完成后就成了 byte = 7,然后看是否在byte的范围内,如果在就不报错

byte a = 130;
byte b = (byte)130;

第一行会报错,因为超出了byte的范围
第二行计算过程:
A:获取130这个数据的二进制。
00000000 00000000 00000000 10000010
这是130的原码,也是反码,还是补码。
B:做截取操作,截成byte类型的了。
10000010
这个结果是补码。
C:已知补码求原码

符号位 数值位
补码 1 0000010
反码 1 0000001
原码 1 1111110
            System.out.println('a');//结果:a
            System.out.println('a' + 1);//结果:98
            System.out.println("hello"+'a'+1);//helloa1
            System.out.println('a'+1+"hello");//98hello
            System.out.println("5+5="+5+5);//5+5=55
            System.out.println(5+5+"=5+5");//10=5+5
上一篇下一篇

猜你喜欢

热点阅读