位元組(byte
)資料型別是8
位有符號Java原始整數資料型別。其範圍是-128
至127
(-2^7
至2^7-1
)。
位元組型別是Java中可用的最小整數資料型別。當程式使用其值在-128
到127
範圍內的大量變數或在檔案或網路中處理二進位制資料時,使用位元組變數。
位元組型別沒有位元組字面量。可以將任何在位元組範圍內的int
字面量分配給一個位元組變數。
例如,
byte b1 = 125;
byte b2 = -11;
如果為位元組變數分配一個int
字面量,並且該值超出了位元組資料型別的範圍,則Java會產生編譯器錯誤。
只能在-128
和127
之間分配一個int
字面量到一個位元組變數。但是可以將儲存在一個int變數中的值(其範圍為-128
到127
)分配給一個位元組變數。在Java中,不能將較高範圍資料型別的變數的值分配給較低範圍資料型別的變數,因為在進行這種賦值時可能會損失精度。
若要真的想從int到位元組型別賦值,必須要轉換值。num1
到b1
的分配可以改寫如下:
int num1 = 1;
byte b1 = (byte)num1; // Ok
Java有一個 Byte
類,它定義了兩個常數來表示位元組資料型別的最大和最小值,分別是:Byte.MAX_VALUE
和Byte.MIN_VALUE
。
byte max = Byte.MAX_VALUE;
byte min = Byte.MIN_VALUE;