数据类型拓展
二进制 0b 开头
十进制 正常
八进制 0 开头
十六进制 0x 开头
整数拓展部分代码:
public class Demo01 {
public static void main(String[] args) {
// 整数拓展 进制 二进制 0b开头 十进制 八进制 0 开头十六进制 0x 开头
int i = 10;
int i2 = 010; //八进制
int i3 = 0x10; // 十六进制 0-9 A-F
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
}
}
输出结果:
i = 10;
i2 =8;
i3 = 16;
浮点数类型拓展
- 浮点数拓展 float double 有限 离散 存在摄入误差 接近 但是不等于
- 最好避免使用浮点数 进行比较
- BigDecimal 一般使用
浮点数类型拓展代码
public class Demo02 {
public static void main(String[] args) {
//浮点数拓展 float double 有限 离散 存在摄入误差 接近 但是不等于
//最好避免使用浮点数 进行比较
//最好避免使用浮点数 进行比较
// BigDecimal
float f = 0.1f; //0.1
double d = 0.1; //0.1
System.out.println(f==d); //false
System.out.println(f);
System.out.println(d);
float f1 =21222454515151511515f;
float f2 = f1 +1;
System.out.println(f1==f2); // true
}
}
输出结果
false
0.1
0.1
true
字符型拓展
字符拓展部分代码:
public class Demo03 {
public static void main(String[] args) {
//字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1); //强制转换 (类型转换中的强制转换)
System.out.println(c2);
System.out.println((int)c2); //强制转换
//所有的字符本质上还是数字
// Unicode 2字节 0-65536 a =97 2^16 =65536
// U0000 - UFFFF
char c3 = '\u0061';
System.out.println(c3);
}
}
输出结果:
a
97
中
20013
a
转义字符
转义字符部分代码:
public class Demo04 {
public static void main(String[] args) {
//转义字符
// \t 制表符
// \n 换行
System.out.println("hello \t world");
}
}
输出结果:
hello world
转义字符表
转义字符 | 意义 | 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 |
? | 代表一个问号 | 063 |
\0 | 空字符(NUL) | 000 |
\ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
\xhh | 十六进制所代表的任意字符 | 十六进制 |