發(fā)現(xiàn)問(wèn)題
有人會(huì)想相加?還不簡(jiǎn)單,用 + 呀。
byte a = 1;byte b = 2;byte c = a + b;
以上代碼是通不過(guò)編譯的,因?yàn)榫幾g器對(duì)待 + 時(shí),有 int 相加、有 decimal 相加、有字符串相加……就是沒(méi)有 byte 相加,所以它會(huì)用最接近的 int 相加,自然返回的結(jié)果也是 int,而 int 類(lèi)型是不能直接賦值給更小的 byte 類(lèi)型的。
解決方法
所以,得改成這樣:
byte a = 1;byte b = 2;byte c = (byte)(a + b);
還好 += 不存在這個(gè)問(wèn)題,a += b 是沒(méi)問(wèn)題的。
byte 最大值
byte 最小值是 0,最大值是 255,所以 byte a = 256 是通不過(guò)編譯的。
而 + 超過(guò)的就不一樣了。
byte a = 255;a += 1; // 這里結(jié)果是 0byte b = 150;b += 150; // 這里結(jié)果是 44,若改為:b = (byte)(b + 150); 是一樣的。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注