java优先级运算之++与%

int i=1;
while(i<10)
  if(i++%2==0)
      System.out.print(i);

A.22222~      B.246810      C.2468     D.3579

i++%2==0,请这是不是先自加再进行求余运算?

先进行求余运算,再进行自加。

答案选D

i++是先进行表达式运算,再进行自增运算,++i是先进行自增运算,再进行表达式运算

1,2 都正确,实在是佩服啊

i++是先参于计算再把i加1

你的程序中i++%2==0

当i=1时求余不为0所以不打印,但i会加1变为2.

下一次循环i是2,这时求余为0,并把i加1变为3,所以会打印出3

以此类推会打印出3579

答案为D