整数拓展
进制可分为:
-
二进制0b
-
十进制
-
八进制0
-
十六进制0x
int i=10; int i2=010;//八进制0 int i3=0x11;//十六进制0x 0~9 A~F System.out.println(i); System.out.println(i2); System.out.println(i3);
浮点数拓展
面试问题:银行业务怎么表示?金钱数据类型?
答:BigDecimal 数学工具类。
float f=0.1f;//0.1 double d=1.0/10;//0.1 System.out.println(f==d);//false float d1=23232344142f; float d2=d1+1; System.out.println(d1==d2);//true
float数据类型特点:
-
有限
-
离散
-
舍入误差
-
大约
-
接近但不等于
最好完全避免使用浮点数比较
字符拓展
char c1='A'; char c2='中'; System.out.println(c1); System.out.println((int)c1);//强制转换数据类型 System.out.println(c2); System.out.println((int)c2);//强制转换数据类型
所有的字符本质还是数字 编码 Unicode 表:97=a 2字节 表示65536 Excel 2的16次=65536
U0000 UFFFF
char c3='\u0061'; System.out.println(c3);//a
转义字符
\t 制表符 \n 换行
System.out.println("Hello\tWorld");
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 More! 代码要精简易读