数据类型扩展
整数拓展
进制:二进制用0b开头、八进制0开头、十六进制0x开头
十六进制 0~A~F 16
浮点数拓展
float和double两个数看着一样但是不一样
float f =0.1f;//0.1 double d=1.0/10;//0.1 System.out.println(f==d);//false float d1 = 2323223232322f; float d2 = d1+1; System.out.println(d1==d2);//ture //float; 有限 离散 舍入误差 大约 接近但不等于 //double
最好完全使用浮点数进行比较。也有工具可以用,例如BigDecimal 数学工具类。
字符拓展
可以强制转换
所有字符的本质还是数字
char c1 ='A'; char c2='淦'; System.out.println(c1);//A System.out.println((int)c1);//强制转换 65 System.out.println(c2);//淦 System.out.println((int)c2);//强制转换 28134 //所有的字符本质还是数字 //编码Unicode 表:97=a 65=A 2字节 65536 Excel 2的16次方=65536 // U0000 UFFFF char c3 ='\u0061'; System.out.println(c3);//a
转义字符
\t 制表符 (表现为空格)
\n换行
//\t 制表符 //\n 换行 //...... System.out.println("Hello\tworld");//hello world System.out.println("Hello\nworld");//hello world String sa = new String("hello world"); String sb = new String("hello world"); System.out.println(sa==sb);//false String sc = "hello world"; String sd = "hello world"; System.out.println(sc==sd);//true //对象 从内存分析
布尔值拓展
boolean flag = true; if (flag==true){}//新手 if (flag){}//老手 //两种写法其实结果一样 //Less is Morel
代码要精简易读