2021-1-12复习java第二天

2021-1-12复习java第二天(查缺补漏)

自动类型转换

数据范围从小到大,即进行类型的自动转换
具体的几个基本数据类型可以进行自动数据类型转换为:
int ==> long ==> float ==>double

强制类型转换(强转)

数据范围从大到小,需要进行强转:
int <== long <== float <== double

但是使用强转时有几点注意:
1.我们一般不推荐使用强制类型转换,因为有可能发生精度损失,比如:float ==> int 时,如果将2.5f转为int时会变成2,在有些情况这并不是我们想要的。

2.有可能发生数据溢出。比如:long ==> int 时,int类型能存储的最大数值为2147483647,而long类型能存储的最大数值为9223372036854775807,如果一个long类型变量大于int类型存储的最大数值,此时进行强转,会发生数据溢出的情况。编译器并不会报错,但是结果不对,是因为格式正确但逻辑是错的。

3.byte/short/char均可发生数学运算,前提是会先提升为int类型再进行计算,但是计算后不能超过被赋值数据类型表示的最大范围

4.boolean类型,不可以进行类型转换。

运算符

1.如果参与运算的数据类型不一样,则会先提升数据类型保持一致,再进行计算。例如:
int + double ==> double + double

2.任何数据类型和字符串连接均为字符串。例如:
System.out.println(“Java”+50+20);//Java5020
System.out.println(“Java”+( 50+20) );//Java70

3.byte/short/char进行计算时,例如:

byte num = 50;
num += 50;//100 => byte类型

过程:
num += 50 ==> num = num + 50
byte ==> byte + int
byte ==> int + int

num = (byte)( int + int );
注意:计算结果不能超过等号左边数据类型的范围。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值