首先是关于进制的认识,比如二进制前加0b。注意不得超过数据类型的范围,如
byte a =300;
这个代码就会出现错误,超过了byte类型的范围,将a的赋值改变为30则不会报错。而且整形常量默认为int类型。
测试整型常量:
int a = 14;
int a2 =014;//以0开头的八进制
int a3 =0x14;//以0x开头的十六进制
int a4 =0b1101;//以0b开头的二进制
System.out.println(a2);
System.out.println(a3);
System.out.println(a4);
long global =65000000000L;//在后面加入l表示long类型常量,不加则会超过int类型长度而报错
Java中浮点类型常量有两种表示方法:1、十进制数表示2、科学计数表示
如: 3.14 314e2
并且浮点数是不精确的,不能用于比较。
测试浮点型:
float a =3.14F;
double a2 =6.28;
double a3 =638E-2;
System.out.println(a3);
float a4 =0.1f;
double a5 =1.0/10;
System.out.println(a3==a5);
float d1 =423432423f;
float d2 =d1+1;
if(d1==d2){
System.out.println("d1==d2");
}else{
System.out.println("d1!=d2");
}
//浮点数不精确不能用于比较,如果一定比较则可使用如下方式
System.out.println("###############");
BigDecimal b = BigDecimal.valueOf(2.0);
b =b.subtract(BigDecimal.valueOf(0.2));
b =b.subtract(BigDecimal.valueOf(0.2));
b =b.subtract(BigDecimal.valueOf(0.2));
b =b.subtract(BigDecimal.valueOf(0.2));
b =b.subtract(BigDecimal.valueOf(0.2));
System.out.println(b);
System.out.println(2.0-0.2-0.2-0.2-0.2-0.2);
BigDecimal b2 =BigDecimal.valueOf(0.2);
BigDecimal b3 =BigDecimal.valueOf(2.0/10);
System.out.println(b2.equals(b3));
Java中字符型可以用Unicode编码表示
测试字符型以及转义字符:
char a1 ='F';
char a2 ='上';
char a3 ='\u0061';
System.out.println(a3);
//转义字符
System.out.println('D'+'J');//遇见加号时char类型自动转为数字
System.out.println(""+'D'+'J');
System.out.println(""+'D'+'\t'+'J');
System.out.println(""+'D'+'\''+'J');//D'J
Java中的布尔类型只有两个常量值true和false,在内存中只占一位(不是一个字节),并且不可以用0或者非0整数代替true和false。
boolean类型用于判断逻辑条件,一般用于程序流程控制。
测试布尔类型:
boolean truth = true;
if(truth){//也可以写成tyuth==true,但是容易写错
System.out.println("真理不接受反驳!");