java 运算顺序_Java篇——运算顺序的详细挖掘

本文详细探讨了Java运算顺序,指出与C/C++不同,Java的运算结果是确定的,不受硬件环境影响。运算顺序从左向右,即使运算符右结合也不会改变这一原则。通过示例代码解释了复合运算符和赋值运算符的执行过程,强调在赋值前会先确定左侧操作数。
摘要由CSDN通过智能技术生成

在Java运算中,存在一些关系到顺序的计算,这些计算顺序在C / C++语言中是不确定的,并且最后的结果值也没有保证。不过,Java经过编译之后,生成的是与平台无关的字节码,并且交互对象为Java虚拟机,与底层的硬件环境无关。因此,这些运算结果在Java中是确定的。

从左向右的计算顺序

与C / C++不同的是,在Java中,表达式的计算与结果是确定的。不受硬件环境的影响。例如,一个在C / C++中比较常见例子:

int i = 5;

int j = (i++) + (i++) + (i++);

在C / C++中,变量i与j的值是不确定的,根据不同的开发环境,结果也不相同。例如,在Turbo C中,i的值为8,j的值为15,而在VC中,i的值为8,j的值为18。在Java中,i和j的值是确定的,i为8,j为18。

在Java中,操作数的计算顺序是从左向右的也就是首先会计算左侧的操作数,然后再计算其右侧的操作数。例如:

int a = 3;

int b = a + (++a) + (a = 1) + a;

执行这两个语句之后,a的值为1,b的值为9。因为Java就是从左向右进行计算的,故最后(即最右侧)一条修改a值的表达式为:

a = 1

而第2条语句也就是&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值