整数拓展
进制
- 二进制0b
- 十进制
- 八进制0
- 十六进制0x
int i=10;
int i2=010; //八进制0
int i3=0x10;//十六进制0x 0~9 A~F 16
System.out.println(i);//输出为10
System.out.println(i2);//输出为8
System.out.println(i3);//输出为16
浮点数拓展
银行业务怎么表示? 钱
- float
- double
float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f==d);//输出为false
System.out.println(f);//输出为0.1
System.out.println(d);//输出为0.1
float d1=213323131231231321f;
float d2=d1+1;
System.out.println(d1==d2);//输出为true
- 是有限的,也是离散的 存在舍入误差 是一个大约的 接近但不等于
- 最好完全避免使用浮点数进行比较
- 最好完全避免使用浮点数进行比较
- 最好完全避免使用浮点数进行比较
- 用BigDecimal 数学工具类来表示银行业务
字符拓展
char c1='a';
char c2='中';
System.out.println(c1);//输出为a
System.out.println((int)c1);//输出为97(强制转换)
System.out.println(c2);//输出为中
System.out.println((int)c2);//输出为20013(强制转换)
- 所有字符本质还是数字
- 编码 Unicode 表:(97=a 65=A) 2字节 0-65536
- Excel 最长为2^16=65536
- U0000 UFFFF
char c3='\u0061'
System.out.println(c3);//输出为a
转义字符
- \t 制表符
- \n 换行
System.out.println("Hello\tWorld");//输出为Hello World
System.out.println("Hello\nWorld");
//输出为
//Hello
//World
对象
- 从内存分析
String sa = new String(original:"hello,world");
String sb = new String(original:"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){}//老手
if(flag==true){}//新手
- Less is More! 代码要精简易读