乙個位元組有8位,00000000 到 11111111 轉換成10進製=256
在實際的程式語言中 劃分為有符號和無符號。
既11111111 為 -1
既10000000 為 -128
裝箱就是 自動將基本資料型別轉換為包裝器型別;
拆箱就是 自動將包裝器型別轉換為基本資料型別。
下表是基本資料型別對應的包裝器型別:
int(4位元組)
integer
byte(1位元組)
byte
short(2位元組)
short
long(8位元組)
long
float(4位元組)
float
double(8位元組)
double
char(2位元組)
character
boolean(未定)
boolean
裝箱:將計算機 的儲存大小轉換成為物件的大小 ***.valueof(例 interger.valueof(11))
拆箱:將物件的大小,轉換成計算機儲蓄的大小;interger.intvalue();
拆箱過程
整型之間使用的是同一套拆箱機制(考慮到越界)
double和float用的是同一套(浮點指向的永遠不是同乙個點)
boolean在valueof的原始碼中定義了static true和false;
所以在比較值的時候建議使用equals;(個人使用)
public static integer valueof(int i) {
if(i >= -128 && i <= integercache.high)
return integercache.cache[i + 128];
else
return new integer(i);
當 "=="運算子的兩個運算元都是 包裝器型別的引用,則是比較指向的是否是同乙個物件,而如果其中有乙個運算元是表示式(即包含算術運算)則比較的是數值(即會觸發自動拆箱的過程)
==比較兩邊是否是同一物件,觸發拆箱,都是基礎資料型別,且數值一樣(自我理解)
經典問題
談談integer i = new integer(***)和integer i =***;這兩種方式的區別。生成了幾個
1)第一種方式不會觸發自動裝箱的過程;而第二種方式會觸發;
2)在執行效率和資源占用上的區別。第二種方式的執行效率和資源占用在一般性情況下要優於第一種情況(注意這並不是絕對的)。
解釋==與equals的區別
計算機儲存
馮 諾依曼模型 系統在預先編譯的程式的指揮下運轉,系統的執行過程就是按照一定的順序不斷執行程式指令的過程 程式存放在儲存器中 程式是為了實現乙個特定的目標而預先設計的一組可操作的工作步驟,就可以稱為乙個程式。對於計算機系統,程式就是系統可以識別的一組有序的指令。這組指令指揮這計算機系統工作。對於計算...
計算機儲存
計算機 儲存和處理資料 基本單位 位元組 最小單位 位bit 8bit 1位元組 1024位元組 1k 1024k 1m 1024m 1g 1024g 1t 二進位制 逢二進一 01 八進位制 逢八進一 0 7 十進位制 逢十進一 0 9 十六進製制 逢十六進一 0 f 十進位制轉二進位制 十進位制...
計算機的儲存
計算機的構成原理參考計算機的發展,重點看電晶體的變革,到後面半導體的發展以及pn節的出現,滿足了電流的整流作用,使得電器行業的大力發展,催生了很多新生計算機思維的誕生,門路思維的應用就是最好地利用了pn節和電晶體的場效應,直接奠定了後面計算機二進位制的發展,資料就由此發生。資料儲存在記憶體 快取 臨...