02 数据类型扩展
数据类型扩展
整数扩展
- 进制
- 二进制0b
- 十进制
- 八进制0
- 十六进制0x
int i=10;
int i2=010;//八进制0
int i3=0x10;//十六进制0x 0~9 A~F 16
int i4=0b10;//二进制0b
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
//结果:10 8 16 2
浮点数拓展
银行业务怎么表示?钱
答:用BigDecimal 数学工具类
float:有限 离散 舍入误差 大约数 接近但是不等于
double
float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f==d);
System.out.println(f);
System.out.println(d);
//结果:false 0.1 0.1
//====================================================================
float d1=3124123412412f;
float d2=d1 + 1;
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);//强制转换
//结果: a 97 中 20013
所有的字符本质还是数字
编码 Unicode 表:(97=a 65=A) 占2字节 最多可以表示65536个字符
Excel表最长是2的16次方=65536
U0000 UFFFF
char c3='\u0061';//Unicode编码
System.out.println(c3);
//结果:a
转义字符
\t 制表符
\n 换行
System.out.println("hello\tworld");
System.out.println("hello\nworld");
结果:
hello world
hello
world
对象 从内存分析
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);
//结果:false true
布尔型扩展 新手跟老手的区别
boolean flag = true;
if(flag==true){}//新手
if(flag){}//老手
//less is more ! 代码要精简易读
- 如何停止时间:亲吻 如何时间旅行:阅读 如何逃脱时间:音乐 如何感受时间:写作 如何释放时间:呼吸 ——马特·海格

浙公网安备 33010602011771号