Java学习2 基础3 语法2(数据类型的拓展)

Java学习2 基础3 语法2(数据类型的拓展)

一、整数的拓展

Java中整数的进制表示方法如下:

  • 二进制: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

flag和flag==true等价。

posted @ 2022-02-23 22:41  雷电法王沃利贝尔  阅读(43)  评论(0)    收藏  举报