数据类型拓展与常见面试题型
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;//0.1
System.out.println(f==d);//判断f与d是否一样,结果为false
System.out.println(f);
System.out.println(d);
float d1=2312331232132131f;
float d2=d1+1;
System.out.println(d1==d2);//结果为true,结果完全不一样
System.out.println("---------------------------------------------------------------");
//--------------------------------------------------------------------------------------------
//字符拓展
//---------------------------------------------------------------------------------------------
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换 运行结果为97
System.out.println(c2);
System.out.println((int)c2);//强制转换 运行结果为20013
//所有的字符本质还是文字
//编码 Unicode表:97=a,65=A 2字节 0-65536
//U0000-UFFFF
System.out.println("----------------------------------------------------------------------------");
char c3='\u0061';
System.out.println(c3);//a
//转义字符
//\t 制表符
//\n 换行
System.out.println("Hello\tWorld");
System.out.println("Hello\nWorld");
System.out.println("----------------------------------------------------------------------------");
String sa=new String("hello world");
String sb=new String("hello world");
String sc= "hello world";
String sd= "hello world";
System.out.println(sa==sb);//false
System.out.println(sc==sd);//true
//对象 从内存分析
//布尔值拓展
boolean flag=true;
if (flag==true){//与if(flag){}同义,老手常用,代码要精简易读(Less is More!)
}
}
}