1. 程式人生 > 其它 >Java基本資料型別,自動型別轉換,強制型別轉換

Java基本資料型別,自動型別轉換,強制型別轉換

1. 整數拓展 進位制 :二進位制0b 十進位制 八進位制0 十六進位制0x

  public static void main(String[] args) {
int numFirst = 10;
int numSecond = 010; // 八進位制 0 (逢八進一)
int numThird = 0x10; // 十六進位制0x 0~9 A~F (逢十六進一)
System.out.println(numFirst);
System.out.println(numSecond);
System.out.println(numThird);
}
輸出:
10
8
16

2 浮點數擴充套件(不要用浮點數進行比較)

    public static void main(String[] args) {
float f = 0.1f;
double d = 1.0 / 10;
System.out.println(f == d); //false

float ff = 2312421421421421421421f;
float ff2 = ff + 1;
System.out.println(ff == ff2); // true
}

輸出:
false
true

3.字元擴充套件

所有字元本質還是數字!!! 編碼 Unicode 2位元組 0 ~ 65536 U0000~UFFFF

    public static void main(String[] args) {
char c = '\u0061';
System.out.println(c); // 輸出a
}

4.自動型別轉換

    public static void main(String args[]){
char b = 65;
System.out.println(b);
System.out.println(b+1);
char c = 'c' + 1;
// char c = b + 1;會報錯,b是char型別變數,b+1是int型,'b'+1是char型
System.out.println(c);
char d = '1';
System.out.println(d);
char c1 = '男';
char c2 = '女';
// char c3 = c1 + c2;會報錯,因為c1 + c2是int型別(兩個字串相加後變為int),不能自動轉換為int,需要強制轉換
char c3 = (char) (c1 + c2);
System.out.println(c1+c2);
System.out.println(c3);
}
輸出:
A
66
d
1
52906

總結:

  • 輸出char型別的變數,輸出結果為字元

  • 含有char型別的變數相加結果為int,但是char字元直接加數字,還是char

    比如char b;

    b+1是int型別,而'b'+1是char型別

5.強制型別轉換

將容量大的轉換為容量小的資料型別,使用時在大容量資料型別前加(容量小的資料型別),可能溢位