long l = 2343223;这个赋值

来源:2-6 基本数据类型详解

慕少6425323

2022-07-13 18:35:30

这个赋值2343223后面没有加l为什么不会编译错误.

写回答

3回答

PhoebeJ

2022-07-13

2323223这个值未超过int型最大字面值,java对其自动进行int转long。当给l所赋值超过int最大字面值,就需要使用(int)强制转型,不然编译器会报错。

可以试一下:

long l = 2147483647 和 long l = 2147483648;前面的不会报错,后面的会。

0

hor5

2022-07-18

整数默认int,2343223未超出int范围,低精度转高精度不需要强转。

0

好帮手慕小黑

2022-07-14

同学你好,int的取值范围为-2147483648——2147483647,“2343223”在int的取值范围内,在编译器中整数默认为int类型,当低精度转换为高精度时,精度不会丢失,所以编译器不会报错。

祝学习愉快!

0

0 学习 · 9886 问题

查看课程