数据类型扩展及面试题讲解
进制
public class Demo03 {
public static void main(String[] args) {
//整数扩展 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010;
int i3 = 0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
}
}
浮点数扩展
//浮点数拓展 银行业务用BigDecimal(数学工具)
//float 有限,离散 舍入误差 大约 接近但不等于
//double
//最好完全避开浮点数进行比较
float f =0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d);//false
System.out.println(f);
System.out.println(d);
float d1 = 121121212f;
float d2 = d1+1;
System.out.println(d1==d2);//true
最好完全避开浮点数进行比较
最好完全避开浮点数进行比较
最好完全避开浮点数进行比较
字符拓展
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— 2**16 = 65536字符
正常Unicode表示
char c3 = '\u0061';
System.out.println(c3); //输出为 a,因为0061为十六进制
转义字符"\t"
//转义字符 \t 制表符 \n换行
System.out.println("Hello\tWorld"); //\t为制表符,同Tab键
less is more 精简