Java数组题中if语句执行情况因为变量设置而结果不同

#在做题利用java数组遍历将1~10的数字,奇数除以2,偶数乘以2执行,但是突然发现错误两个if语句放一起执行不了,只能用if-else语句。所有我将两个if语句单独拎出来测试。
具体情况是设置一个整形变量m=arr[i]数组,然后后续if语句执行却不一样。
具体如图所示:
这是将m变量等于数组的情况:

img


这是没有m变量,直接输出数组的情况:

img

为什么会发生这种情况的!

  • 图片1, x 在 第一个if变了,但因为m没有变,所以 第二个if不走进去,后续打印的 x还是一样的 5
  • 图片2,x 在第一个if变了,第二个if中也用到了x%2 判断,所以也成立,x*2 = 10,第二遍打印的是 10.

    img

第一个使用m记录了x为10时,x对2求余的结果0,所以只执行了第一个if,x变为5,所以后续打印x的值都是5;

第二个没有使用m,x在第一个if后变为了5,然后第二个if也执行了,x又变为了10,所以结果不一样。

因为你没用m的时候,x变了呀,执行了第一个if,x变成5了,是奇数了,就执行第二个if了
另外你都放到循环里,也是两个if不能同时执行呀,因为一个数是奇数了就不可能是偶数

感谢回复!!if语句是执行了的,是我最开始没看懂!!非常感谢!!