Java基本資料型別,自動型別轉換,強制型別轉換
阿新 • • 發佈:2021-12-02
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.強制型別轉換
將容量大的轉換為容量小的資料型別,使用時在大容量資料型別前加(容量小的資料型別),可能溢位