当前位置:网站首页 > Java教程 > 正文

java混合运算教程



+=与-=运算符混合计算解析:

int x = 3;
x += x -= x -= x += x -= x;
详解:算数运算按运算符优先级运算,从右至左计算。

1. x=x-x; 实际为 3 - 3 计算结果为0;
2. x=x+x; 实际为 3 - 0,0是第1步结果,计算结果为3;
3. x=x-x; 实际为 3 - 3,3是第2步结果,计算结果为0;
4. x=x-x; 实际为 3 - 0,0是第3步结果,计算结果为3;
5. x=x+x; 实际为 3 + 3,3是第4步结果,计算结果为6。

表达简化后:x=x+(x-(x-(x+(x-x))));
总结:表达式里面运算符优先级相同,显示x初始值都为3,从右到左计算,最终x为6.

*,+,+=,-=运算符混合计算解析:

int y = 4;

y += y * (y += y) + y + y * (y -= y + 1);

详解:算数运算符等级:

等级 符号 名词 结合性

1 () 圆括号 从左到右

3 * 乘 从左到右

4 + 加 从左到右

14 += 混合赋值运算符 从右到左

14 -= 混合赋值运算符 从右到左

按运算符规则计算:

1.分析先计算+=的右边y * (y += y) + y + y * (y -= y + 1);

2.分析从左至右分解y * (y += y) + y + y * (y -= y + 1);

3.最先计算y * (y += y)。最终分析步骤如下:

1,2:y*(y=y+y);实际为4*(4+4),计算结果为32,y=8;

3:32+y;实际为32+8,计算结果为40,y=8;

4,5,6:y*(y-=y+1);实际为8*(8-(8+1)),计算结果为-8,y=-1;

7:40+(-8),计算结果为32.y=-1;

8:y=y+32 ,实际为4+32,计算结果为36,y=-1.

最终y结果为36.表达式简化后:y=y + y * (y = y+y) + y + y*(y = y - (y+1));

总结:熟悉运算符优先等级,按步骤解析表达式一步一步计算。注意-=,+=计算后会修改掉变量的值。

备注:
作者:Shengming Zeng
博客:http://www.cnblogs.com/zengming/

版权声明


相关文章:

  • java会计教程视频2024-12-01 09:26:00
  • java车贴纸教程2024-12-01 09:26:00
  • java规则匹配教程2024-12-01 09:26:00
  • java基础教程292024-12-01 09:26:00
  • java按钮教程2024-12-01 09:26:00
  • java 语言入门教程2024-12-01 09:26:00
  • 学java软件开发教程2024-12-01 09:26:00
  • java缓存教程2024-12-01 09:26:00
  • java图文教程2024-12-01 09:26:00
  • 刷村民教程java2024-12-01 09:26:00