Java学习2 基础3 语法2(数据类型的拓展)
一、整数的拓展
-
二进制:0b+数值; (此处b可以是大写也可以是小写)
-
十进制:直接写数值;
-
八进制:0+数值;
-
十六进制:0x+数值。 (此处x可以是大写也可以是小写) (十六进制的A~F可以是大写也可以是小写)
int i1=0b10; //二进制
int i2=10; //十进制
int i3=010; //八进制
int i4=0x10; //十六进制
二、浮点数拓展
最好完全避免使用浮点数进行比较
当使用float和double的数据时,可能会发生错误,如比较两个“人"看起来一样的浮点数float i1和i2,程序员认为这两个数的数值是相等的,但i1==i2语句的结果有可能是false。在对精准度要求严格时不能使用浮点数,此时可以使用BigDecimal。
public class HelloWorld {
public static void main(String[] args) {
float i1=0.1F;
float i2=1/10;
System.out.println(i1==i2);
float i3=2333333333333f;
float i4=i7+1;
System.out.println(i3==i4);
}
}
结果是:
false
true
Process finished with exit code 0
三、字符拓展
-
强制转换 字符可以按照Unicode编码表强制转换成数字。
char c1='a';
System.out.println((int)c1);结果是:
97
-
转义 数字也可以转换成字符。
char c2='\u0061'; /* \u后跟的是十六进制数 */
System.out.println(c2);结果是:
a
四、转义字符
常见转义字符所对应含义如下:
| 序号 | 转义字符 | 含义 | ASCII码值(十进制) |
|---|---|---|---|
| 1 | \a | 响铃(BEL) | 007 |
| 2 | \b | 退格(BS) ,将当前位置移到前一列 | 008 |
| 3 | \f | 换页(FF),将当前位置移到下页开头 | 012 |
| 4 | \n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
| 5 | \r | 回车(CR) ,将当前位置移到本行开头 | 013 |
| 6 | \t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
| 7 | \v | 垂直制表(VT) | 011 |
| 8 | \ | 代表一个反斜线字符"" | 092 |
| 9 | ' | 代表一个单引号(撇号)字符 | 039 |
| 10 | " | 代表一个双引号字符 | 034 |
| 11 | \? | 代表一个问号 | 063 |
| 12 | \0 | 空字符(NUL) | 000 |
| 13 | \ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
| 14 | \xhh | 十六进制所代表的任意字符 | 十六进制 |
五、布尔值拓展
Boolean flag=true;
if(flag==true){
System.out.println(flag);
}
if(flag){
System.out.println(flag);
}
结果是:
true true

浙公网安备 33010602011771号