Java数据类型扩展和部分面试题
//整数拓展: 进制 二进制0b 十进制 八进制 十六进制0x
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制0x 0~9 A~F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
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 = 5455555555545f;
float d2 = d1 + 1;
System.out.println(d1==d2);//true
//======================================================
//字符拓展?
//======================================================
System.out.println("================================");
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 65=A) 2字节 0-65536
char c3 = '\u0061';
System.out.println(c3);//a
// 转义字符
// \t 水平制表符
// \n 换行
System.out.println("Hello\tWorld");
System.out.println("================================");
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);
//对象 从内存分析
//布尔值扩展
boolean flag = true;
if (flag==true){} //菜鸟
if (flag){} // 老鸟
//less is more! 代码要精简易读
[运行结果](https://img-blog.csdnimg.cn/20200612102532156.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NoZW5MaW5naXU=,size_16,color_FFFFFF,t_70)