在使用java定义long类型数据时,给定的常量没有超出long类型的数值范围,然而JVM却在报错,错误提示如下:

原因是:
整数常量的默认类型为int,当需要将其定义为long类型时,需要在常量数字之后加上字母L(大写容易与数字1进行区分)
long num2=141200000000L;
Note:
byte age=18;1.在上述的变量声明与初始化中,age是变量,但是定义的数值18确是变量。
2.同理,浮点型常量默认类型为double,当需要float类型时,在数值后加F。
3.
float num5=0.1f;
double num6=1.0/10;
System.out.println(num5==num6); //返回false。浮点型只能精确到指定位数,通常无法进行比较4.当需要进行精确比较时
BigDecimal bd1=BigDecimal.valueOf(0.1);
BigDecimal bd2=BigDecimal.valueOf(1.0/10.0);
import java.math.*; System.out.println(bd1==bd2); //返回false,为甚么时false???
System.out.println(bd1.equals(bd2));//返回true5.整数的四种进制表示
int a=10;
int b=015; //0开头八进制
int c=0x15; //ox开头16进制
int d=0b1101;//0b开头 二进制
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
本文探讨了Java中整数、浮点数及不同进制的表示方式,并揭示了常量类型转换的常见误区。重点讲解了long类型常量需要显式添加'L'后缀的原因,以及如何正确地进行浮点数比较。
4138

被折叠的 条评论
为什么被折叠?



