short s3;
short s1=1;
short s2=2;
s3=s1+s2;
System.out.println(s3);
结果是多少,为什么?
解决方案 »
- 书上一道例题,解惑。
- 如何让GUI的.class文件双击就可执行
- Java 怎么表示字符STX
- 2个问题
- 求解 安装不起eclipse!!!!!
- 怎么用java做一个简单的浏览器呢?
- 讨论一下这三个jdbc driver(for sqlserver2000)
- 请问:java运行问题?——exception in thread "main" java.lang.noclassdeffonderror:helloword,请问是哪里配置错了?谢谢!
- html中嵌入applet jar问题求助
- 在javaSE里面,为什么要使用泛型通配符呢?
- 如何由string类型的类名生成类的实例?
- Jcreator引入
改成:s3=(short) (s1+s2)
结果是3
因为,s3是 short类型的,而s2 s1 在运算时转换成了int行进行运算,那么赋值给s3得时候,就会报错。
应该修改成:int s3;
或者:s3 = (short)(s1+s2);
可能损失精度
找到: int
需要: short
s3=s1+s2;
^
1 错误Output completed (0 sec consumed) - Normal Termination因为java做运算的时候如果操作数是byte,short,char,会自动转换成int
因为,s3是 short类型的,而s2 s1 在运算时转换成了int行进行运算,那么赋值给s3得时候,就会报错