java基本數據類型
| 占用空間(B) | 取值範圍(起點) | 取值範圍(結束點) |
byte(整型) | 1 | -2^7 (-128) | 2^7-1(127) |
short(整型) | 2 | ... | ... |
int(整型) | 4 | ... | ... |
long(整型) | 8 | ... | ... |
char(字元) | 1~4 | 任意單個字元 | 任意單個字元 |
| 1 | true/false | true/false |
| 4 | | 3.403e38(有效位數6~7位) |
double(雙精度) | 8 | -1.798e308(有效位數15位) | |
數據類型
位元組byte
它是計算機的數據存儲單元,每個位元組包括8個
二進制“
位-bit”,可以保存8位的
二進制數。
由於受到電子設備的物理特定限制,例如磁性
存儲器只適合保存兩種狀態的信息—磁性的強弱、以電信號的方式也只適合傳遞兩種狀態的信息—電壓的高低,因此在計算機中最終結果時再將轉換為人們熟悉的格式,如
十進制數值、字元和圖形等。
字元集Charset
為了實現對
字元信息的存儲,人們將可能用到的字元排成一個有序的字元佇列,這種由多個有序字元組成的集合稱為“
字元集-
Charset”,而在計算機中世紀保存的是字元在字元集中的序號,即一個二進制形式的整數。而到底採用1個還是多個
位元組以及具體如何來存儲一個字元集的字元,這種相關的規定被稱為“
編碼-Encoding”。
Java最初採用的是16位
Unicode編碼(
UTF-16)來表示字元,無論序號大小,每個Java字元都占用定長的2B(16個
二進制位),因此最多能表示
65536個不同的字元,這只是粗略的說法,實際上如果採用變通的方式進行
字元編碼,UTF-16編碼可以表示的字元遠多於65536個。
例如,從JDK5開始
Java語言引入了Unicode編碼規範中的代碼點(
Code Point)機制,將每個字元對應的代碼稱為一個代碼點,基本的多語言字元的代碼點還是用16位表示,這16位的二進制數據也稱為一個單元代碼(
Code Unit),此時一個代碼單元也對應一個代碼點;
而後擴充輔助字元則編碼為2個連續的代碼單元(32位),此時一個代碼點有兩個代碼單元組成,這實際上是將
UTF-16也變成了可變長度編碼。
字元常量
(1) 用
英文單引號括起來的單個字元,例如:'a'、'字'。這是最常見的聲明字元形式。
(2) 用英文單引號括起來的
十六進制字元代碼值來表示單個字元。其格式為:'uXXXX',其中u是約定的前綴(u是
unicode的第一個字母),而後面的XXXX位4位
十六進制數,是該字元在unicode字元集中的序號。例如:'uFFFF'。
轉義符