Java数据类型扩展
-
整数拓展:在Java中如何表示 进制,二进制以0b开头,八进制以0开头,十六进制以0x开头 。
int i1 = 10;
int i2 = 010;
int i3 = 0x10;
System.out.pringtln("i1")
System.out.pringtln("i2")
System.out.pringtln("i3")
run的结果是
10
8
16 -
浮点数拓展,银行业务怎么表示? 钱
float f = 0.1f;
double d = 1.0/10;
System.out.pringtln(f==d) // ==是判断两数是否相等的
run的结果是 falsefloat d1 = 12121212123132131121f
float d2 = d1 + 1
run的结果是 true为什么会出现这种情况呢?因为float它能表现的字长是有限的,但是float又是离散的,有舍入误差,大约,接近但不等于,所有我们最好完全避免使用浮点数进行比较。我们以后会学到 BigDecimal 是用于银行业务的。
-
字符型拓展
char c1 = 'a';
char c2 = '中';
System.out.pringtln(c1);
System.out.pringtln((int)c1);
System.out.pringtln(c2);
System.out.pringtln((int)c2);
run的结果是
a
97
中
20013为什么会出现这种情况,因为所有的字符本质还是数字,a=97
A=65,而“中”这个汉字也是有编码的,是Unicode(表),这是一个表,它可以处理任何语言的问题,它占2个字节,它最多可以表示65536个字符,而Excel表格最长有2^16,而2^16=65536
-
转义字符扩展
/t制表位
/n换行
System.out.pringtln("Hello/tWord");
System.out.pringtln("Hello/nWord");
run的结果是:
Hello Word
Hello
Word -
布尔值扩展
boolean flag = true;
if (flag==true);{}
if (flag);{}这就是新手和老手的区别,两个if代表的意思完全一样,新手会全写上,而老手会更精简。

浙公网安备 33010602011771号