编辑:余鉴贵(新余学院——九章天地)
总所周知,对于数据类型,大家想必不会陌生,那么以下拓展知识大家又了解多少呢?
1.整数拓展
关于整数,拓展知识就是它的进制问题了。
二进制以0b开头,八进制以0开头,十六进制以0x开头
例如:
public class Demo{
public static void main(String[] args){
int a1=10;
int a2=010;
int a3=0x10;
System.out.println(a1);
System.out.println(a2);
System.out.println(a3);
}
}
其中的结果为:
2.浮点数拓展
关于float和double的一些问题,请看下列代码
public class Demo{
public static void main(String[] args){
float c1 = (float) 0.01;
double c2= 0.01;
System.out.println(c1);
System.out.println(c2);
System.out.println(c1==c2);
float c3=232323232323232;
float c4=c3 + 1;
System.out.println(c3==c4
}
}
其中输出结果为:
这里,为什么c1和c2都为0.01,它们却不相等呢?c3和c4却相等呢?
其实,我们认识的浮点数是有限且离散的,会存在舍入误差,也就是所说的大约,所以才会存在以上结果。
这里给大家普及一个面试知识:请问银行业务怎么表示?
这里,我们就不能使用这两者去表示了,会存在误差,那么我们一个用
什么呢?应该用BigDecimal的数学工具类。
3.字符串拓展
输入以下代码:
public class Demo{
public static void main(String[] args){
char e1='a';
char e2='中';
System.out.println(e1);
System.out.println(e2);
System.out.println((int)e1);
System.out.println((int)e2);
}
}
其中输出结果为
可以看出,所有的字符本质还是数字。
4.布尔值拓展
请看下面代码
boolean flag = true;
if (flag==true){} //新手
if (flag){} //老手
其中第二行代码和第三行代码相同