看板 java 關於我們 聯絡資訊
小弟初學java 今天在書上看到一段描述如下 對於整數來說,經由算數運算式計算完的結果只會變成int型態 例子: short a,b,c; a=1; b=2; c=a+b; 書上說c=a+b在編譯時就會出現 "possible lose precision" 我想請問一下為什麼會這樣 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.131.122.154 ※ 編輯: takaku 來自: 220.131.122.154 (12/04 18:22)
PsMonkey:http://tinyurl.com/2krtzl 最後一段 12/04 19:20
brian70545:java整數的預設型態是int 12/04 21:25
PsMonkey:樓上的講法很有問題... Orz 12/04 23:24
normaler:我用1.6跑居然直接是compile error而不是warning了.. 12/05 03:03
TonyQ:本來型別確認就是 checked exception了不是嗎?.? 12/05 04:17
sapaj:c = (short)(a+b); 這樣應該就可以了. 12/05 07:24
sapaj:JAVA數字不會自動降轉,只會自動升級. 12/05 07:34
takaku:感謝指導 12/06 11:48
brian70545:請問為什麼我的講法有問題呢?? 因為a+b的型態會變成預 12/11 04:05
brian70545:設的int,如果將int 指派給short的話,就會失去精確度 12/11 04:06
brian70545:不是這樣嗎? QQ 12/11 04:07