一、基本类型(八种)
除了表格上的其他的都是引用类型。
整数型的取值范围从表上看除了byte,其他肯定是无法知道的,那么我们可以借用它们的包装类去调用对应的方法来获得范围值。代码如下:
整数型对应的包装类除了int比较特殊,其他的都是首字母大写。
同样浮点型的取值范围也可以借用它们的包装类去调用对应的方法来获得,代码如下:
字符char可以存储数字、字母甚至是汉字,但是打印输出的时候只会输出字符。因为在输出的时候底层会先去查询Unicode码表,通过Unicode码表找到对应的字符,再输出。代码如下:
二、基本类型的字面值
**1 整数字面值是int类型
int a = 999999999;//错,右侧是int类型,但是超出范围
2 byte,short,char三种比int小的整数可以用范围内的值直接赋值
byte b=127;//对
byte b=128;//错,右面已经超过byte范围是int类型的数据
3 浮点数的字面值是double类型
double a=3.14;//对
float a=3.14;//错,右面是double,float是四字节double是八字节存不下
4 字面值后缀l f d
L –long 如:long a = 99999999999;//错,超出范围,解决方案加L
F –float 如:float a = 3.14;//错,右面是double类型,解决方案加F
D –double 如:double a=3;//错,右面是int,解决方案加D或者改成3.0
5 进制前缀
0x - 16进制
0 -8进制
\u -char类型,16进制
三、基本类型的类型转换
1 小到大(隐式转换)代码如下:
2 大到小(显式转换)代码如下:
需要强制类型转换
3小数转成整数,小数直接舍弃,代码如下:
四、运算规则
1 计算结果的数据类型,与最大类型一致
2 byte,short,char三种比int小的整数,运算时会先自动转换成int
3 整数运算溢出
整数运算,类似于一个钟表,转到最大时,再转会回到最小。代码如下:
很明显得出的值是错误的,解决方案是在3E后面加上l或者L。
4 浮点数运算不精确
5 浮点数的特殊值