目錄Java基本類型Java運算符1、Java基本類型1.1、boolean布爾- 只有true和false兩種值,預設是false1.2、byte位元組- 1byte = 8bits- 範圍-128到127,預設值為0,範圍超出則翻轉(即128=-128)- byte在大型數組中可以顯著節省空間,主 ...
目錄
Java基本類型
Java運算符
1、Java基本類型
1.1、boolean布爾
- 只有true和false兩種值,預設是false
1.2、byte位元組
- 1byte = 8bits
- 範圍-128到127,預設值為0,範圍超出則翻轉(即128=-128)
- byte在大型數組中可以顯著節省空間,主要代替小數,因為byte變數占用的空間只有int類型的四分之一
- byte在二進位文件中使用較多
1.3、short/int/long短整數/整數/長整數
- 1short = 2byte = 16bits
- short範圍在-2^15到2^15-1之間,預設值0,範圍超出報越界error
- 1int = 2short = 4byte = 32bits
- int範圍在-2^31到2^31-1之間,預設值0,範圍超出報越界error
- 1long = 2int = 4short = 8byte = 64bits
- long範圍在-2^63到2^63-1之間,預設值0,範圍超出報越界error
- 註意long型數在末尾會有一個L,標誌它是long類型
定義一個long型變數,賦於一個int類型的值,則會隱性的轉化為long類型(即列印出來的數末尾會有個L)
1.4、float/double浮點數
- float單精度浮點數,占32bits,4byte
- float的範圍為1.4*10^-45到3.4*10^38(無論正負),預設值為0.0f
- float賦值必須在末尾帶f
- double雙精度浮點數,占64位,8byte
- double的範圍為4.9*10^-324到1.7*10^308(無論正負),預設值為0.0d
- double賦值可以省略末尾的d
- float和double都不能表示很精確的數字
1.23f == 1.229999999f//true
4.56 == 4.559999999999999999d//true
1.5、char字元
- char是一個單一的16位的Unicode字元,以\u開頭,和4個16位數字組合而成
- 最小值是\u0000,即為0
- 最大值是\uffff,即為65535
- char可以存儲任何字元
2、Java運算符
2.1、算數運算符
- 雙目:加+、減-、乘*、除/、餘%
- 單目:自增++、自減--
2.2、賦值運算符
賦值:a = 3
a += 3 ---> a = a + 3
a –= 3 ---> a = a – 3
a *= 3 ---> a = a * 3
a /= 3 ---> a = a / 3
a %= 3 ---> a = a % 3
2.3、邏輯運算符
短路或&&------------------a和b全為true時結果為true,當a為false時結果直接為false不計算b(節省時間)
短路且||-------------------a和b全為false時結果為false,當a為true時結果直接為true不計算b(節省時間)
邏輯非!--------------------!true == false,!fasle == true
邏輯或&-------------------a和b全為true時結果為true,無論a的計算結果如何,都要計算b
邏輯且|-------------------a和b全為false時結果為false,無論a的計算結果如何,都要計算b
2.4、位運算符
- 只針對整型byte、short、int、long進行運算
- 按位與&:同位對比,只有兩位都為1時,結果才為1
- 按位或|:同位對比,兩位中其中1位為1時,結果就為1
- 按位異或~:同位對比,兩位不同時,結果為1;兩位相同時,結果為0
- 按位取反^:將每一位都取反,得到結果(單目運算)
- 左移<<:a << 2表示,將a轉為二進位,將所有二進位全部左移2位
- 右移>>:a >> 2表示,將a轉為二進位,將所有二進位全部右移2位
2.5、關係運算符
大於>、小於<、等於==、大於等於>=、小於等於<=、不等於!=
2.6、運算符優先順序
- 括弧的優先順序最高
- 單目運算優先順序大於多目運算
- 算數運算符*/大於+-
- 算數運算符優先順序 > 關係運算符 > 邏輯運算符