在使用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));//返回true
5.整数的四种进制表示
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);