2

Java基础:数据类型拓展及面试题讲解

整数拓展

//整数拓展:二进制0b,十进制,八进制0,十六进制0x
int i=10;
int i2=010; //八进制0
int i3=0x10; //十六进制0x
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
image-20210721183234987

浮点数拓展

//浮点数拓展:银行业务怎么表示?
//BigDecimal 数学工具类
//float :有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
float f=0.1f; //0.1
double d=1.0/10; //0.1
System.out.println(f==d); //false
image-20210721183341661

字符拓展

//字符拓展
//所有字符本质还是数字
//这里用到了Unicode编码表,例如a=97
//Unicode的编码表示:U0000~UFFFF
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换

char c3='\u0061';
System.out.println(c3); //a
image-20210721183644883

转义字符

//转义字符
//\t 制表符
//\n 换行
System.out.println("Hello\tworld!"); //制表
System.out.println("Hello\nworld!"); //换行
image-20210721184225607

从内存分析实例

//看起来一样,底层不一样(从内存分析),输出也不一样
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);
image-20210721184025233

布尔值拓展

//布尔值拓展,以下两种不同写法
boolean flag=true;
if(flag==true){};
if(flag){};

重要声明:本篇文章整理自B站狂神说Java

posted @ 2021-07-21 19:03  风雪依稀秋白发尾  阅读(50)  评论(0)    收藏  举报