数据类型
-
float和long类型使用的时候要在数字后面加F和L
-
String不是关键字,是一个类。
类型拓展
整数拓展
整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i=10; //10
int i2=010; //八进制0 8
int i3=0x10; //十六进制0x 16
浮点数拓展
float 和double
float f=0.1f; //0.1
double d=1.0/10; //0.1
System.out.println(f==d); //false
尽管f和d的结果相同,但是却不相等
最好完全避免使用浮点数进行比较
float d1=232132313213f;
float d2=d1+1;
System.out.println(d1==d2); //true
而此时,输出的确是true,因为float有限 离散 舍入误差 大约 接近但不等于
字符拓展
//字符拓展
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换
//所有的字符本质还是数字
//编码 Unicode 表(a=97 A=65)2字节 最多表示65536个字符
char c3='\u0061';
System.out.println(c3); //a
转义字符
//转义字符
// \t 制表符
// \n 换行
System.out.println("==================");
String sa = new String("hello");
String sb = new String("hello");
System.out.println(sa==sb); //false
String sc = "hello";
String sd = "hello";
System.out.println(sc==sd);//true
对象,从内存分析
布尔型拓展
//布尔值扩展
boolean flag=true;
//if(flag==true){}
//if (flag){} //代码要精简易读