数据类型拓展
整数括展
进制
- 二进制以0b开头
- 十进制由0~9数字组成,不能以0开头(0除外)
- 八进制 以0开头,由0~7数字组成,如077、021
- 十六进制以0x开头,由09数字和字母AF(分大小写)组成,如0x123、0Xabc
int i = 10;
int j = 021; //八进制
int k = 0x123; //十六进制
浮点型括展
浮点数 能表示的长度有限,是离散的,存在舍入误差,大约,接近但不等于
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d); //false
float d1 = 3141592633333333333f;
float d2 = d1 + 1;
System.out.println(d1==d2); //ture
最好完全避免用浮点数进行比较
最好完全避免用浮点数进行比较
最好完全避免用浮点数进行比较
BigDecimal 数学工具类
字符扩展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换
所有字符本质还是数字 48代表字符’0’ 65代表字符’A’ 97代表字符’a’
Unicode字符集 占用2字节(byte) 65536 U0000~UFFFF
Unicode编码转义 char c3 = '\u0061';
常用转义字符
\t 制表符
System.out.println("hello\tworld");
\n 换行
…
布尔值扩展
boolean flag = true;
if(flag==true){}
if(flag){}
//Less is More
其他
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);
//对象 从内存分析