社区
Java SE
帖子详情
简单的类型转换的问题
zhf0021
2005-04-06 12:28:22
short s1 = 1; s1 = s1 + 1;//编译不通过
而
short s1 = 1; s1 += 1;
编译可以通过?
...全文
96
7
打赏
收藏
简单的类型转换的问题
short s1 = 1; s1 = s1 + 1;//编译不通过 而 short s1 = 1; s1 += 1; 编译可以通过?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhf0021
2005-04-06
打赏
举报
回复
资质愚钝,看的不是很明白
s1 += 1
和
s1 = s1 + 1
不时等价的么?
这里的+=操作符有什么特殊的地方?
谢谢
taglib
2005-04-06
打赏
举报
回复
1是literal,默认是int类型,但在赋值给short, byte变量时,编译器自动会检查其值是否在所赋变量的类型的范围内,
short s1 = 1;只赋值一次
s1 += 1;同理,对s1只计算一次
但s1 = s1 + 1;有所不同,因为+操作的结果是int,所以你需要用
s1 = (short)(s1 + 1);
zhf0021
2005-04-06
打赏
举报
回复
多谢楼上各位!!
topil
2005-04-06
打赏
举报
回复
资质愚钝,看的不是很明白
s1 += 1
和
s1 = s1 + 1
不时等价的么?
这里的+=操作符有什么特殊的地方?
谢谢
=====================================
等价只有在两边的类型都是int的时候才成立!
topil
2005-04-06
打赏
举报
回复
s1 += 1; 通过编译器编译之后其实是这个样子的 : s1=(short)(s1+1);
而s1 = s1 + 1; 编译不通过就是因为si+1 后结果转型成了int 而直接把int赋给short是不允许的。
liuzhx
2005-04-06
打赏
举报
回复
short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。
可修改为s1 =(short)(s1 + 1) 。
short s1 = 1; s1 += 1正确 因为没有改变类型。
taglib
2005-04-06
打赏
举报
回复
15.26.2 Compound Assignment Operators
http://java.sun.com/docs/books/jls/second_edition/html/expressions.doc.html#5304
For example, the following code is correct:
short x = 3;
x += 4.6;
and results in x having the value 7 because it is equivalent to:
short x = 3;
x = (short)(x + 4.6);
C++
类型转换
:隐式
类型转换
、类
类型转换
、显示
类型转换
C++ 语言是一种强类型语言,当我们需要用一种类型的对象来替代另一种类型的对象进行相关操作时,必须首先进行
类型转换
。C++语言中,
类型转换
有两种方式,隐式
类型转换
和显示
类型转换
。 1. 隐式
类型转换
在有隐式...
c语言强制
类型转换
例子
简单
,c语言怎么进行强制
类型转换
在c语言中,可以通过“(新类型名称) 数据或表达式”语句来进行强制
类型转换
。强制
类型转换
是程序员明确提出的、需要通过特定格式的代码来指明的一种
类型转换
。本教程操作环境:windows7系统、c99版本、Dell G3电脑。...
C语言:强制
类型转换
、自动
类型转换
C语言中
类型转换
有两种方式:即强制
类型转换
和自动
类型转换
。 一、强制转换比较
简单
,为:(类型)操作对象。 int n1 = 5, n2 = 2; float f1 = (float) 5 / 2; //结果为2.5000,若不强制转换结果为2.000 其它类型...
C++:28---类
类型转换
之
类型转换
运算符operator(explicit)
一、概念 ...类的隐式
类型转换
:是将其他
类型转换
为类类型
类型转换
运算符:将类
类型转换
为其他类型 二、格式与注意事项
类型转换
函数的形式: type表示某种类型
类型转换
运算符可以面向任意类...
C语言强制
类型转换
强制
类型转换
是把变量从一种
类型转换
为另一种数据类型。例如,如果想存储一个 long 类型的值到一个
简单
的整型中,需要把 long 类型强制转换为 int 类型。可以使用强制
类型转换
运算符来把值显式地从一种
类型转换
为另...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章