java数据类型拓展
#首先是课堂代码的个人整理
public class data_type_extension {
public static void main(String[] args) {
/*
* 整数拓展:进制 二进制:0b;八进制:0;十六进制:0x;
* */
int a = 10;
int b = 0b10;
int c = 010;
int d = 0x10;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println("===============================");
/*
* 浮点数拓展:银行业务
* 误差解决:BigDecimal 数学工具类
* float 有限 离散 舍入误差 大约 接近但不等于
* double
* 最好完全不使用浮点数进行比较
* 最好完全不使用浮点数进行比较
* 最好完全不使用浮点数进行比较
* */
float f = 0.1f;
double g = 1.0/10;//0.1
System.out.println(f==g);//false
float d1 = 2333333333333333333333333333f;
float d2 = d1 + 1;
System.out.println(d1==d2);//true
System.out.println("===============================");
/*
* 字符拓展
* */
char q1 = 's';
char q2 = '学';
System.out.println(q1);
System.out.println(q2);
System.out.println((int)q1);//强制转换
System.out.println((int)q2);//强制转换
// 所有的字符本质还是数字
// 编码 Unicode 表:97 = a; 65 = A; 0~65536 Excel 2^16=65536
char q3 = '\u0061';// Unicode编码
System.out.println(q3);//a
System.out.println("===============================");
}
}
###下面是上述代码的运行结果
###附上手打的转义字符小表格(加深印象)
转义字符意义ASCII码值(十进制)\a响铃(BEL)007
\b退格(BS),将当前位置移到前一列008
\f换页(FF),将当前位置移到下页开头012
\n换行(LF),将当前位置移到下一行开头010
\r回车(CR),将当前位置移到本行开头013
\t水平制表(HT),跳到下一个Tab位置009
\v垂直制表(VT)011
\|代表一个反斜线字符’’092
’代表一个单引号字符039
"代表一个双引号字符034
\0空字符(NULL)000
\ddd1到3位八进制数所代表的任意字符三位八进制
\xhh1到2位十六进制所代表的的任意字符二位十六进制