大约++和--了解运营商
2015-06-12 10:05
375 查看
在c/c++,java里面都有++/--这种递增递减的单目预算符。
今天在看java代码演示样例时。看到了以下的代码
上面的代码的输出是7,9.
对于上面的问题的处理,主要是要真正理解了赋值运算符和递增递减运算符的实质:
1. =这个赋值运算符。它是首先计算表达式右边,然后把右边的结果再赋值给左边的变量。
2.关于++/--单目运算符。依据它在变量的左边和右边。我们这样理解:符号在右边,先使用变量值。然后再增减;符号在左边,先增减。在使用变量值。
结合上面的两个规则,我们来分析x=x++。 --》先使用x的变量值作为=号的赋值的值(7),然后x++。这是x的值变成8.然后把右边的结果7再赋值给x,这样x终于变成了7.
剩下的y=x++ --》y=7;x=8
z=++x;-->z=9,x=9.
我们希望实际的上述分析。
今天在看java代码演示样例时。看到了以下的代码
1 int x =7; 2 int y =0; 3 x = x++; 4 y=x++; 5 z=++x; 6 printf("y=%d,z=%d",y,z);
上面的代码的输出是7,9.
对于上面的问题的处理,主要是要真正理解了赋值运算符和递增递减运算符的实质:
1. =这个赋值运算符。它是首先计算表达式右边,然后把右边的结果再赋值给左边的变量。
2.关于++/--单目运算符。依据它在变量的左边和右边。我们这样理解:符号在右边,先使用变量值。然后再增减;符号在左边,先增减。在使用变量值。
结合上面的两个规则,我们来分析x=x++。 --》先使用x的变量值作为=号的赋值的值(7),然后x++。这是x的值变成8.然后把右边的结果7再赋值给x,这样x终于变成了7.
剩下的y=x++ --》y=7;x=8
z=++x;-->z=9,x=9.
我们希望实际的上述分析。
相关文章推荐
- iOS autolayout的Content Hugging 和 Content Compression Resistance
- 数据库 外键与索引
- 收不到Win10推送怎么办?Win7/8没收到win10升级提示情况的解决办法
- git Please move or remove them before you can merg
- phpcms 循环输出
- Radiobutton样式
- C++分割字符串
- 我曾经的伤感、过度在意和贪婪、恐惧
- 修改 tomcat 内存
- handler.post 与线程
- Intellij IDEA 系统路径配置
- 7-7自动色阶/自动对比度/自动颜色
- 某个数的阶乘尾部含有0的数
- Linux串口驱动
- MVC大型商贸系统(库存管理)技术解释(五) 销售部门调整
- 应用 Valgrind 发现 Linux 程序的内存问题
- cocos2dx 两个重叠按钮点击响应关系
- Nginx+Tomcat7:The page you are looking for is temporarily unavailable.Please try again later.
- Java中HashMap,LinkedHashMap,TreeMap的区别
- Python 学习笔记5