Java学习笔记–数据类型拓展
一、整数的拓展
1、有关进制
在Java中,整数进制的表示:
二进制:0b + 二进制数字
十进制:直接写十进制数字
八进制:0 + 八进制数字
十六进制:0x + 十六进制数字
public class Practise1 {
public static void main(String[] args) {
int i = 0b01101111; //二进制写法
int j = 10; //十进制写法
int k = 010; //八进制写法
int l = 0x15; //十六进制写法
System.out.println(i);
System.out.println(j);
System.out.println(k);
System.out.println(l);
}
}
二、浮点数拓展
浮点数所能表示的字长是有限的,也是离散的,是有舍入误差的,即接近但不等于。
最好完全避免使用浮点数进行比较!
而银行业务则使用BigDecimal类进行比较。
public class PractiseFloat {
public static void main(String[] args) {
float f1 = 0.1f;
double d1 = 1.0/10;
System.out.println(f1 == d1); //此时输出的结果是false
float f2 = 121212121212121f;
float f3 = f2 + 1;
System.out.println(f3 == f2); //此时输出的结果是true
}
}
三、字符拓展
1、所有的字符本质是数字
ASCII码对照:
char类型会涉及到Unicode编码,Unicode编码几乎可以解决各种语言的文字,占了2个字节,最多可以表示65536个字符。当然,现在已不止。
2、转义字符
常见转义字符:
- \b:退格,即将当前位置移到前一列 ASCII–>008
- \f: 换页,即将当前位置移至下页开头 ASCII–>012
- \n:换行,即将当前位置移到下一行开头 ASCII–>010
- \r: 回车,即将当前位置移到本行开头 ASCII–>013
- \t: 水平制表,即跳到下一个Tab位置 ASCII–>009
- \v:垂直制表 ,将光标移到下一个垂直制表符对齐处位置 ASCII–>011
- \\: 代表一个反斜线字符"\" ASCII–>092
- \’: 代表一个单引号(撇号)字符 ASCII–>039
- \0:空字符 ASCII–>000