Java num+=1、num++与num=num+1的区别(通俗易懂,附带例子)

.NET中也是同理。

知识预热:(看到最后有彩蛋)
1、在Java中,默认的整形常量的类型是int类型。
2、如果int类型转换为short类型,那么不强制转换必定会报错。

那么问题来了:
已知条件:

short num=10

情况一:

num=num+2

情况二:

num+=1

请问上面的两种情况是否会报错?如果不会那么结果是多少呢?

情况一:
在这里插入图片描述

情况二:
在这里插入图片描述

总结:
1、情况一:因为在Java中常量的默认数据类型是int类型,则相当于把short类型与int类型的数据进行运算,得到的结果是int类型,但是将一个int类型的数据在不经过强制转换的情况下赋值给short类型,那么编译时必定会报错。
2、情况二:但是num+=2;它是不改变变量本身的数据类型,所以它不会报错。

彩蛋:

short number=1;
short result=0;

情况一:

result=number+1

情况二:

result=number++

该结果与正文中的结果一样。

感谢您的阅读,希望我的分享对您有所帮助。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值