- 编码情况1:
//编译成功、运行成功
long l = 121313;
System.out.println(l);
//编译失败:过大的整数
long l1 = 15641561032165122341;
System.out.println(l1);
//编译成功、运行成功
long l2 = 15641561032165122341L;
System.out.println(l2);
原因:long型变量赋值,若未加L(l)将默认为int型即为自动类型转换int ==> long,其值不能超过int型取值范围
- 编码情况2:
//编译失败
float f1 = 12.3;
System.out.println(f1);
//编译成功
float f2 = 12.3f;
float f3 = (float) 12.3;
System.out.println(f2);
System.out.println(f3);
//编译失败
byte b = 12;
byte b1 = b + 1;
System.out.println(b1);
float f4 = b + 12.3;
System.out.println(f4);
原因:整型常量默认为int型,浮点型常量默认为double型