jvm编译优先级

int a=1;
int b=0;
int c=2;
int x=a != (a=c) ? a : b;

答案:x=2
原因:jvm虚拟机加载优先级。
总结:最开始自己没有经过详细的思考,直接就说 x=1,结果答案一出来就傻眼了。之后经过分析:jvm在编译的时候就已经把1、0、2复值给了a、b、c,
在执行x的赋值的时候:
①a != () 这时a=1这个数加载进来了
②a=c 这时a这个容器中装的就是2了
③? a : b 这时才加载这个条件运算符
最后的运行逻辑就是
x=1 != 2 ? 2 : 0;
答案就是 x=2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值