02 数据类型扩展

数据类型扩展

整数扩展

  • 进制
    • 二进制0b
    • 十进制
    • 八进制0
    • 十六进制0x
int i=10;
int i2=010;//八进制0
int i3=0x10;//十六进制0x   0~9 A~F 16
int i4=0b10;//二进制0b
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
//结果:10 8 16 2

浮点数拓展

银行业务怎么表示?钱

答:用BigDecimal 数学工具类

float:有限 离散 舍入误差 大约数 接近但是不等于

double

float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f==d);
System.out.println(f);
System.out.println(d);
//结果:false 0.1 0.1
//====================================================================
float d1=3124123412412f;
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);//强制转换
//结果: a 97 中 20013

所有的字符本质还是数字

编码 Unicode 表:(97=a 65=A) 占2字节 最多可以表示65536个字符

Excel表最长是2的16次方=65536

U0000 UFFFF

char c3='\u0061';//Unicode编码
System.out.println(c3);
//结果:a

转义字符

\t 制表符
\n 换行
System.out.println("hello\tworld");
System.out.println("hello\nworld");

结果:

hello	world
hello
world

对象 从内存分析

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);
//结果:false true

布尔型扩展 新手跟老手的区别

boolean flag = true;
if(flag==true){}//新手
if(flag){}//老手
//less is more ! 代码要精简易读
  • 如何停止时间:亲吻 如何时间旅行:阅读 如何逃脱时间:音乐 如何感受时间:写作 如何释放时间:呼吸 ——马特·海格
posted @ 2022-07-17 15:54  Ukiyo  阅读(38)  评论(0)    收藏  举报