看板 java 關於我們 聯絡資訊
public class ByteAdd { public static void main(String[] args) { byte i=1; byte j=2; i+=j; //i=i+j; ←請問為什麼沒辦法做運算,ide顯示type mismatch //i= j- i; 但如果byte i, j 改成 int i, j就能運算 } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.71.170
gzliu36:0和1? 03/23 23:44
demythig:byte的範圍不是-128~127難道不是嗎@@? 03/23 23:44
tkcn:表面上看起來是兩個 byte 做運算,但實際上是先轉成兩個 int 03/23 23:47
demythig:改成short也是不行,請問一定要int才能運算嗎?在書上 03/23 23:47
tkcn:i = (byte)i+j; 03/23 23:51
tkcn:喔寫錯 應該是 i = (byte)(i+j) 兩個int運算完的結果還是int 03/23 23:52
demythig:感謝t大 03/23 23:56
LPH66:只要記得java裡比int小的東西運算完後自動是int就行了 03/23 23:58
LPH66:像是byte char short都是這樣 03/23 23:59