010_JAVA基礎語法_資料型別及其擴充套件,面試題
阿新 • • 發佈:2022-03-09
-
整數型別
-
整數型別最常使用int
-
long型,一般要在數字後加大/小寫L。建議使用L,小寫容易與數字1混淆
-
整數型別有二進位制(0b開頭)、八進位制(0開頭,範圍0~7)、十進位制、十六進位制(0x開頭,範圍:0~9,A~F)
0是零而非字母歐(擴充套件)
int a1 = 0;
byte a2 = 10;
short a3 = 40;
long a4 = 100L;
int a5 = 0b0101;
int a6 = 010235;
int a7 = 0x1cf;
-
-
浮點型別
-
浮點型別最常使用double型
-
float型,一般要在數字後加大/小寫F
-
浮點數是有舍入誤差的,是接近但不等於,離散、有限的;要避免使用浮點數進行比較(擴充套件)
float b = 2F;
double b1 = 100;
-
-
字元型別char
-
使用單引號
-
可把字元型強制轉換為數值;原因:所有的字元本質上時數字(擴充套件)
-
常見字元的數字:A-65,a-97
char firstName = ‘何’;
char sc = ‘A’;
System.out.println((int)sc); //65
-
-
Boolean型
-
其值只有true和false
-
很多選擇結果的判斷條件結果就是布林型,如if語句(擴充套件)
boolean flag = true;
//常規寫法
if(flag == true){}
//偷懶寫法
if(flag){}
//Less is more!程式碼要精簡易讀,但建議初期按常規寫法寫程式碼
-
-
String不是關鍵詞,是一個類,使用雙引號
二、面試題
銀行業務如何表示錢?使用float or double?
使用BigDecimal來表示,不使用浮點型別表示
float f = 0.1F; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d); //false
System.out.println(f); //0.1
System.out.println(d); //0.1
三、思考
兩次結果為什麼不一樣?(記憶體分析)
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb); //false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd); //true