long l = 2343223;这个赋值
来源:2-6 基本数据类型详解
慕少6425323
2022-07-13 18:35:30
这个赋值2343223后面没有加l为什么不会编译错误.
3回答
2323223这个值未超过int型最大字面值,java对其自动进行int转long。当给l所赋值超过int最大字面值,就需要使用(int)强制转型,不然编译器会报错。
可以试一下:
long l = 2147483647 和 long l = 2147483648;前面的不会报错,后面的会。
hor5
2022-07-18
整数默认int,2343223未超出int范围,低精度转高精度不需要强转。
好帮手慕小黑
2022-07-14
同学你好,int的取值范围为-2147483648——2147483647,“2343223”在int的取值范围内,在编译器中整数默认为int类型,当低精度转换为高精度时,精度不会丢失,所以编译器不会报错。
祝学习愉快!
相似问题