
为什么我的线程在调用的时候只能循环一次,但是将num++放在if语句的下面就可以正常循环呢?

如上图所示: 在我看来, 当num=1 的时候, 在你这段代码里面的时候, 走进去了system.out.println代码块, 执行了num+1 ,也就是num = 2;
然后当你2进入while循环的时候, num % 2 即为 0 , 但是你为0的时候,没有system.out.println代码块, 导致num 无法 ++, 所以num值一直都是2;
综合下来说, 所有的while循环,全部都是num=2 的情况下循环的, 而且还是无限循环下去的。 唯一在控制台打印输出的system.out.println 内容, 只有第一次被执行。
打字不易, 若回答正确, 望采纳!谢谢!