Byte,即字節,由8位二進制組成。在Java中,字節數據是8位有符號二進制數。
在計算機中,8位有符號二進制數的取值範圍是[-128,127],所以在Java中,字節類型的取值範圍也是[-128,127]。
操作規則:
# # # #正數的最高位是0,正數的值是二進制值。####
# # # #負數的最高位數是1,負數的值是加1再加負號得到的。####
用8位二進制來說明這個規則:
比如:0000001。最高位是0,是正數,所以十進制表示1。
再比如:100001。最高位數是1,為負數。價值是什麽?獲取011111加1獲取011165438。
為了理解這個運算規則,我們正式開始說byte,它正好是壹個8位的二進制數。Short是16位,int是32位,long是64位。
上面的代碼最終會輸出-56。原因如下:
200的二進制表示是111001000。因為int是32位二進制,所以在計算機中實際上是000000000。111001000,當int轉換為byte時,那麽計算機將只保留後8位,即11001000。
那麽11001000的最高位就是1,也就是說test它是壹個負數,負數在計算機中是以補碼的形式保存的,所以我們把11001000的原碼計算為065438。
擴展數據的Java編譯器生成字節碼,而不是通常的機器碼。Java字節碼提供了壹種與體系結構無關的目標文件格式,該代碼被設計用來有效地將程序轉移到多個平臺。Java程序可以在任何實現Java解釋器和運行時系統的系統上運行。
在解釋性環境中,程序開發的標準“鏈接”階段已經大大消失了。如果說Java還有壹個鏈接階段,那只是壹個將新類放入環境的過程,是壹個增量的輕量級的過程。
因此,Java支持快速原型和簡單測試,這將導致快速的程序開發。這是壹個微妙的開發過程,與傳統耗時的“編譯、鏈接和測試”形成鮮明對比。
百度百科-—Java(計算機編程語言)