public class Demo03数据类型的扩展以及面试题 {
public static void main(String[] args) {
//整数拓展: 进制 二进制 0b开头 十进制 八进制 0开头 十六进制 0x开头
int i = 10;
int i1 = 0b10; //二进制 0b开头
int i2 = 010; //八进制 0开头
int i3 = 0x10; //十六进制 0x开头 0~9 A~F 15
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println("===================================");
//====================================
//浮点数拓展 银行的业务如何表示? 指钱
//BigDecimal 数学工具类
//====================================
// float 的长度是 有限的 长了之后会比较离散 会舍入误差 会大约 接近但不等于
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
float f = 0.1f; //0.1
double d = 1/10; //0.1
System.out.println(f==d); //false
float d1 = 3.1415956985775356f;
float d2 = d1 + 0.0000000000001f;
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 以前的 Excel表的 2^16=65536
char c3 ='\u6314';
System.out.println(c3+"大"); //a
//转义字符
// \t 制表符
// \n 换行
System.out.println("dashi\t999");
System.out.println("dashi\n999");
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! 代码要精简易读
}
}