数据类型扩展
整数拓展
进制
二进制(0b开头)、十进制、八进制(0开头)、十六进制(0x开头)
int i = 10;
int i2 =010; //八进制0
int i3 = 0x10; //十六进制0x 0~9 A~F
输出:
浮点数拓展
(面试)银行业务怎么表示?(怎么算钱?)
-
用BigDecimal类表示 (数学工具类)
-
浮点数表示的字长是有限的,浮点数是离散的,存在舍入误差,结果是大约数,接近但不等于。最好完全避免使用浮点数进行比较
float f = 0.1F; //0.1 double d = 1.0/10; //0.1 System.out.println(f); System.out.println(d); System.out.println(f==d); //false float d1 = 231313131313F; float d2 = d1 + 1; System.out.println(d1); System.out.println(d2); System.out.println(d1==d2); //true
输出:
字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1); //强制转换
System.out.println(c2);
System.out.println((int)c2); //强制转换
//所有的字符本质还是数字
//Unicode编码,2字节,可表示65536个字符
//U0000 UFFFF
char c3 ='\u0061';
System.out.println("c3="+c3); //输出结果为:a
输出:
转义字符
- \t 制表符
System.out.println("escape\tcharacter")
输出:
- \n 换行
…
布尔值扩展
(面试题)
boolean flag = true;
if (flag==true){} //新手
if (flag){} //老手
//上面两行代码是一样的
//Less is More! 代码要精简易读
学自 狂神说java
今日潮图