数据类型拓展及面试题讲解
【狂神说Java】Java零基础学习视频通俗易懂P24
/**
* @description: 数据类型拓展及面试题讲解
* @author: Leon
* @date: 2021/11/13 22:07
**/
public class Demo03 {
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0X
int a = 0b11;//二进制0b
int b = 11;//十进制
int c = 011;//八进制0
int d = 0x11;//十六进制0x 0~9 A~F 16
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println("============================================================");
//============================================================
//============================================================
//浮点数拓展?银行业务怎么表示?钱
//BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全使用浮点数比较
float f = 0.1f;//0.1
double e = 1.0 / 10;//0.1
System.out.println(f == e);//false
float f1 = 154654654654f;
float f2 = f1 + 1;
System.out.println(f1 == f2);//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 表:(91=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\nword");
System.out.println("============================================================");
//为什么? 从内存分析
String s1 = new String("hello word");
String s2 = new String("hello word");
System.out.println(s1 == s2);//false
String s3 = "hello word";
String s4 = "hello word";
System.out.println(s3 == s4);//true
//布尔值扩展
boolean flag = true;
if(flag==true){}//新手
if(flag){}//老手
//Less is More! 代码要精简易读
}
}