数据类型拓展&面试题讲解
整数拓展
//======================================
//整数拓展: 进制 二进制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
System.out.println("======================================");
浮点数拓展
//======================================
//浮点数拓展 银行业务怎么表示?钱
//BigDecimal 数学工具类来解决这个问题
//======================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d); //false
float d1 = 231212121214324f;
float d2 = d1+1;
System.out.println(d1==d2); //true
字符拓展
//======================================
//字符拓展:
//======================================
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
//
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! 代码要精简易读
![image]()