运算符优先级问题

运算符优先级问题

		for(int i=1;i++<=1;) {
			System.out.println("运行了");
		}

按照课程内容应该是++运算符优先级高于<=运算符啊,那这个for循环应该什么都不输出才对啊,但是运行结果是输出“运行了”一次。我理解哪里有问题呀?请老师解答。

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

前置++运算级高,后置++运算级低。

你改成  ++1 <= 1就是你想的那样了。

请采纳!

  • 慕容2892559 提问者 #1
    谢谢大佬,那运算符优先级到底是基于什么标准呢?(我在课程里学到的运算符优先顺序从大到小为: () !、++、-- *、/、% +、- <、<=、>、>= ==,!= && || =、+=、-=、*=、/=、%= 这个有没有问题啊?)
    2020-03-28 08:54:37
  • 苍星乱舞 回复 提问者 慕容2892559 #2
    你别这样记啊,把这个表背下来没必要,首先先发明的数学后发明的计算机,所以计算机里大部分的逻辑都是配合你平时学的数学,发明计算机的人绞尽脑汁设计出来就是为了符合普通人的思维。 最简单的先乘除后加减,这就不用说了,接着赋值的一系列肯定最低,因为它要等别人计算出结果才能进行。逻辑(与或非)比关系(大于,小于,等于,不等于)低,因为逻辑是基于关系的基础上判断的。然后关系又比算数运算的低,要等你计算完才比大小对吧。最后单目运算符比双目运算符高,这里面后置的++,--除外他两最低,低于赋值。 最后请忘掉上面说的,就问你 ++j*--j+i--+i++;执行完后 i 和 j 的值分别是什么,任谁看了都想打人,考试都不这么靠,只记住一点,加小括号,小括号里先算!加小括号,程序写的自己清楚别人也容易看懂。
    2020-03-28 09:20:55
  • 慕容2892559 提问者 回复 苍星乱舞 #3
    嗯嗯,写代码多用小括号。谢谢你。
    2020-03-28 10:14:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师