天天看點

Java 八種基本資料類型總結

# Java 八種基本資料類型總結

基本資料類型:byte short int long, double float char boolean

基本資料類型 名稱 類型 占用空間 取值範圍
byte 位元組 有符号整型 1位元組 -2^7(-128) <= byte <= 2^7-1(127)
short 短整數 有符号整型 2位元組 -2^15 <= short <= 2^15-1
int 整數 有符号整型 4位元組 -2^31 <= int <= 2^31-1
long 長整數 有符号整型 8位元組 -2^63 <= long <= 2^63-1
double 雙精度浮點數 浮點型 8位元組 -2^1024 <= double <= 2^1024
float 浮點數 浮點型 4位元組 -2^128 <= float <= 2^128
char 字元 無符号整型 2位元組 2^0 <= char <= 2^15
boolean 布爾 布爾型 1位元組 true or false

基本資料類型注意事項:

1、未帶有字元字尾辨別的整數預設為int類型;未帶有字元字尾辨別的浮點數預設為double類型;

2、如果一個整數的值超出了int類型能夠表示的範圍,則必須增加字尾“L”(不區分大小寫,建議用大寫,因為小寫的L與阿拉伯數字1很容易混淆),表示為long型;

3、帶有“F”(不區分大小寫)字尾的整數和浮點數都是float類型的;帶有“D”(不區分大小寫)字尾的整數和浮點數都是double類型的;

4、編譯器會在編譯期對byte、short、int、long、float、double、char型變量的值進行檢查,如果超出了它們的取值範圍就會報錯;

5、int型值可以賦給所有數值類型的變量;

long型值可以賦給long、float、double類型的變量;

float型值可以賦給float、double類型的變量;

double型值隻能賦給double類型變量。

關于取值範圍:

java中用補碼表示二進制數,補碼的最高位是符号位,最高位為“0”表示正數,最高位為“1”表示負數。

正數補碼為其本身;

負數補碼為其絕對值各位取反加1。

例如:

+21,其二進制表示形式是00010101,則其補碼同樣為00010101;

-21,按照概念其絕對值為00010101,各位取反為11101010,再加1為11101011,即-21的二進制表示形式為11101011。

byte的取值範圍計算過程:

1、byte為一位元組8位,最高位是符号位,即最大值是01111111,因正數的補碼是其本身,即此正數為01111111,十進制表示形式為127;

2、最大正數是01111111,那麼最小負是10000000(最大的負數是11111111,即-1);

3、10000000是最小負數的補碼表示形式,我們把補碼計算步驟倒過來 就即可,10000000減1得01111111然後取反10000000。

因為負數的補碼是其絕對值取反,即10000000為最小負數的絕對值,而10000000的十進制表示是128,是以最小負數是-128;

4、由此可以得出byte的取值範圍是-128到+127。

ps:各個類型取值範圍的計算方法與此大緻相同,感興趣的同學可以自己試着計算。