作者demythig (demy)
看板java
標題[問題] 簡單的byte運算
時間Sun Mar 23 23:42:48 2008
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
1F:推 gzliu36:0和1? 03/23 23:44
2F:→ demythig:byte的範圍不是-128~127難道不是嗎@@? 03/23 23:44
3F:推 tkcn:表面上看起來是兩個 byte 做運算,但實際上是先轉成兩個 int 03/23 23:47
4F:→ demythig:改成short也是不行,請問一定要int才能運算嗎?在書上 03/23 23:47
5F:推 tkcn:i = (byte)i+j; 03/23 23:51
6F:→ tkcn:喔寫錯 應該是 i = (byte)(i+j) 兩個int運算完的結果還是int 03/23 23:52
7F:→ demythig:感謝t大 03/23 23:56
8F:推 LPH66:只要記得java裡比int小的東西運算完後自動是int就行了 03/23 23:58
9F:→ LPH66:像是byte char short都是這樣 03/23 23:59