社区
Java SE
帖子详情
2个short类型的数据相加不能是short型了?
acboboly
2006-01-04 02:57:05
short x =5;
short y=6;
short z=x+y;//compile error
变量z必须定义为int型?
5+6的范围并没有超过short型的范围?为什么不能相加之后还是short类型的?
是不是无论什么类型的两个数相加,结果最小的类型要是int????
...全文
1992
8
打赏
收藏
2个short类型的数据相加不能是short型了?
short x =5; short y=6; short z=x+y;//compile error 变量z必须定义为int型? 5+6的范围并没有超过short型的范围?为什么不能相加之后还是short类型的? 是不是无论什么类型的两个数相加,结果最小的类型要是int????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kjj1981
2006-01-08
打赏
举报
回复
表达式自动提升为int
ouyang5310833
2006-01-08
打赏
举报
回复
上面一些同仁回答得很好,建议不要在这些小问题上纠缠,继续往下学习吧。祝你成功!
chmmmm
2006-01-08
打赏
举报
回复
顶起
acboboly
2006-01-07
打赏
举报
回复
哦,呵呵!谢谢!^_^
bluesmile979
2006-01-06
打赏
举报
回复
这事儿是挺郁闷。精度小于int的数值运算的时候都回被自动转换为int后进行计算。只能自己再转回去。
cuiyingfeng
2006-01-06
打赏
举报
回复
Java 程序语言提供了一些可以作用在整数值上的操作数:
* 比较运算子,得到 boolean 型别的值:
* 数值比较运算子 <,>=,>,和 >=(§15.20.1)
* 数值相等运算子 == 和 !=(§15.21.1)
* 数值运算子,得到 int 或 long 型别的值:
* 单元加减运算子 + 和 -(§15.15.3,§15.15.4)
* 乘除运算子 *,/,和 %(§15.17)
* 加减运算子 + 和 -(§15.18.2)
* 递增运算子 ++,前置(§15.15.1)和后置(§15.14.1)两者
* 递减运算子 --,前置(§15.15.2)和后置(§15.14.2)两者
* 有号和无号移位运算子 <<,>>,和 >>>(§15.19)
* 位补码运算子 ~(§15.15.5)
* 整数位元运算子 &,|,和 ^(§15.22.1)
如果整数运算子,拥有最少一个型别 long 的操作数时,那这运算会以 64-位精度来实现,而这数值运算子的结果是型别 long 的。如果其它的操作数不是 long,它会先被以数值升级(§5.6)宽化(§5.1.4)到型别 long。否则,运算会以 32-位精度来实现,而这数值运算子的结果是型别 int 的。如果有操作数不是 int,它会先被以数值升级宽化到 int 型别。
yuzl32
2006-01-06
打赏
举报
回复
x+y 相加过程中可能会转换为int,这时你必须强制转换回short才行
即:short z=x+y 改为;short z=(short)(x+y)
acboboly
2006-01-06
打赏
举报
回复
顶!
java
short
相加
_为什么两个
short
类
型
相加
会自动提升为int?
Java中进行二元与运算
类
型
的提升规则整数运算:如果两个操作数有一个为long,则结果也为long;没有long时,结果为int。即使操作数全为
short
、byte,结果也是int。浮点运算:如果两个操作数有一个为double,则结果为double;只有两个操作数都是float,则结果才为float。注意:int 与 float 运算,结果为 float。为什么两个
short
类
型
相加
会自动提升为i...
基本
数据
类
型
和String
相加
结果一定是字符串
型
今天见到一道选择题有一选项为基本
数据
类
型
和String
相加
结果一定是字符串
型
,例如: 输出结果为: 确实是这样,那么原理是什么呢? 在我们把一个基本
数据
类
型
和一个String
类
型
相加
的时候,编译器会将基本
类
型
的值传入到对应封装类的toSting()方法中将其转化为和值相同的String对象,从而和String进行
相加
运算。基本
类
型
本身并
不能
直接与String
类
型
相加
。 基本
类
型
与其封装
类
型
byte Byte
short
Short
int Integer ..
JAVA中
short
和
short
相加
自动转化为int
JAVA中
short
和
short
相加
自动转化为int 标签: JAVA 2016-06-20 00:48 918人阅读 评论(0) 收藏 举报 对于
short
s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的
类
型
,所以结果是int
型
,再赋值给
short
类
型
s1时,编译器将报告需要强制转换
类
型
的错误。 对于
short
s1 = 1; s1
学习笔记——关于C#中的两个
short
类
型
相加
变成了int
类
型
今天遇到了一道面试题,当时只知道可能是陷阱,但是却不知道该如何绕过去……回来网上查了一下,在此做个记号。题目:
short
s1 = 1; s1 = s1 + 1;有什么错;
short
s1 = 1; s1 += 1; 有什么错?网上一般的回答是:s1 = s1 + 1; 中的s1 + 1 为int
类
型
,所以
不能
隐式转换成int
类
型
,所以出错。疑问一:s1 + 1 (一个
short
类
型
加一个int
类
型
,为什么会隐式转成int
类
型
)?解答:这其实是C#的一个特性。它会把byte、
short
等
类
型
的
数据
进行四则
java
short
相等_Java的
short
=
short
+
short
报错问题
Java的
short
=
short
+
short
报错问题
short
x =5;
short
y=6;
short
z=x+y;//compile error变量z必须定义为int
型
?5+6的范围并没有超过
short
型
的范围?为什么
不能
相加
之后还是
short
类
型
的?是不是无论什么
类
型
的两个数
相加
,结果最小的
类
型
要是int????x+y
相加
过程中可能会转换为int,这时你必须强制转换回
short
才行即:sh...
Java SE
62,629
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章