数据类型的拓展及面试题讲解
public class Demo03 {
public static void main(String[] args) {
//整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x 0-9 A-F
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;
System.out.println(f==d);//flase
float f1=2323232323f;
float f2=f1+1;
System.out.println(f1==f2);//true
//======================================================
//字符串拓展
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换 97
System.out.println(c2);
System.out.println((int)c2);
//所有字符的本质都是数字
//编码 Unicode 表:97=a 65=A ASCLL码 2字节 0-65536; Excel表格 2的16次方 65526
//U0000 UFFFF
char c3='\u0061';
System.out.println(c3);//输出a
//转义字符
// \t 制表符
// \n 换行符
System.out.println("hello\nll");
System.out.println("========================================");
String sa=new String("Hello");
String sb = new String("Hello");
System.out.println(sa==sb);//flase
//现在堆中创建空间,里面维护了value属性,指向常量池的hsp空间。如果常量池没有“hsp”,重新创建,如果有,直接通过value指向。最终指向的是堆中的空间地址。
String sc = "hello";
String sd = "hello";
System.out.println(sc==sd);//true
//布尔值拓展
boolean flag = true;
if(flag==true){ }//新手
if(flag){} // 老手 跟上面一样
//代码精简已读
}
}