数据类型扩展
扩展
整数扩展 进制
- 二进制0b
- 八进制0
- 十进制
- 十六进制0x
int i = 0b10; //二进制, 输出2
int i1 = 010; //八进制, 输出8
int i2 = 10; //十进制, 输出10
int i3 = 0x10; //十六进制,输出16 0~9 A-F 16
浮点数扩展
(最好避免使用浮点数进行比较) 银行业务怎么表示钱?
有限,离散,舍入误差,大约数,接近但不等于
BigDecimal 数学工具类 比较以后用这个工具类
float f = 0.1f; //0.1
float d = 1.0/10; //0.1
System.out.println(f==d); //false
float d1 = 2238572385238f;
float d2 = d1 + 1;
System.out.println(d1==d2); //true
字符串扩展
(所有的字符本质还是数字,unicode编码有一一对应)
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1); //强制转换,并不是所有的数据类型都可以转换, 输出97
System.out.println(c2);
System.out.println((int)c2); //输出 20013
unicode编码
//U0000 UFFFF 正常的unicode编码
char c3 = '\u0061'; //转义 \
System.out.println(c3); //输出a
转义字符
System.out.println("Hello\tWorld"); // \t 制表符(tab键)
System.out.println("Hello\nWorld"); // \n 换行
对象 从内存分析
String A = new String("Hello,World");
String B = new String("Hello,World");
System.out.println(A==B); //false
String C = "Hello,World";
String D = "Hello,World";
System.out.println(C==D); //true
布尔值扩展
boolean flag = true;
if (flag==true){} //新手
if (flag) {} //Less is More! 代码要精简易读
浙公网安备 33010602011771号