作者takaku (XD)
看板java
标题[问题] 算数运算与转型
时间Tue Dec 4 18:21:31 2007
小弟初学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)
2F:推 brian70545:java整数的预设型态是int 12/04 21:25
3F:推 PsMonkey:楼上的讲法很有问题... Orz 12/04 23:24
4F:推 normaler:我用1.6跑居然直接是compile error而不是warning了.. 12/05 03:03
5F:推 TonyQ:本来型别确认就是 checked exception了不是吗?.? 12/05 04:17
6F:推 sapaj:c = (short)(a+b); 这样应该就可以了. 12/05 07:24
7F:→ sapaj:JAVA数字不会自动降转,只会自动升级. 12/05 07:34
8F:推 takaku:感谢指导 12/06 11:48
9F:推 brian70545:请问为什麽我的讲法有问题呢?? 因为a+b的型态会变成预 12/11 04:05
10F:→ brian70545:设的int,如果将int 指派给short的话,就会失去精确度 12/11 04:06
11F:→ brian70545:不是这样吗? QQ 12/11 04:07