为了账号安全,请及时绑定邮箱和手机立即绑定

一定要注意哦!自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误滴!

里面操作变量和操作数值有什么区别

正在回答

1 回答

如果写5++,编译器默认将5看成变量,未经声明而且违反了变量命名规则中标识符不能以数字开头,会报出invalid argument to opreate--无效参数操作。如果编译器默认了5为数值,那么5++意义何在呢?要知道5这个数值在内存中不占空间,只在运算时存储在cpu的数据寄存器中。变量运算操作的结果可以返回存储到变量所属内存中,数值运算操作的结果没有地方可以存放,这样5++的结果会被丢弃。为了防止这样的无效运算,编译器会在编译期时就将一些数值运算计算出结果存到二进制的class文件中,如:System.out.println(9+1),表面上,运行后才得出10,其实在编译期得到的二进制代码就是:System.out.println(10)。这里可以看出,自增自减是运行期运算的,而不是编译期。c语言中有自增自减运算,你可以结合理解下。

以上纯属个人理解,如有疑问,可以互相探讨下,欢迎提问!共同进步!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

一定要注意哦!自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误滴!

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号