public class demo04 {
public static void main(String[] args) {
//整数扩展 :进制 二进制0b 十进制 八进制0 十六进制0x、
int i = 10; //十进制
int i1 = 0b10; //二进制
int i2 = 010; //八进制
int i3 = 0x10; //十六进制
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println("==========================================");
//==========================================
//==========================================
//浮点数扩展
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//可用 BigDecimal(数学工具类)
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d);//false

float f1 = 1000000000;
double d1 = f1+1;
System.out.println(f1==d1);//true
System.out.println("==========================================");
//==========================================
//==========================================
//字符扩展
char c1 = 'a';
char c2 = '中';
char c3 = '国';
System.out.println(c1);
System.out.println((int)c1);//(int)c:强制转换
System.out.println(c2);
System.out.println((int)c2);
System.out.println(c3);
System.out.println((int)c3);
//编码 Unicode 表
//u0000~uFFFF
char c4 = '\u0061';//a
System.out.println(c4);
//所有的字符本质还是数字(所有的代码本质上还是以二进制语言表示的)
System.out.println("==========================================");
//==========================================
//==========================================
//转义字符 意义 ASCII码值
// \a 响铃 007
// \b 退格,将当前位置移到前一列 008
// \f 换页,将当前位置移到下一页开头 012
// \n 换行,将当前位置移到下一行开头 010
// \r 回车,将当前位置移到本行开头 013
// \t 水平制表(跳到)下一个Tab位置 009
// \v 垂直制表 011
// \\ 代表一个反斜线字符'\' 092
// \' 代表一个单引号字符 039
// \" 代表一个双引号字符 034
// \? 代表一个问号 063
// \0 空字符 000
// \ddd 1到3位八进制所代表的任意字符 三位八进制
// \xhh 十六进制所代表的任意字符 十六进制
System.out.println("中\b国");//\b
System.out.println("中\f国");//\f
System.out.println("中\n国");//\n
System.out.println("中\r国");//\r
System.out.println("中\t国");//\t
System.out.println("中\\国");//\\
System.out.println("中\'国");//\'
System.out.println("中\"国");//\"
System.out.println("中\0国");//\0
}
}