使用for循环打印偶数,而不使用if条件语句。
使用for循环打印偶数,而不使用if条件语句。
我有一个简单的方法来打印出1到1000之间的所有偶数。
我想要将条件设置在循环的行内而不是下面。
这是我尝试过的代码:
for (let i = 1; i <= 1000 && i % 2 == 0 ; i++) { document.write(i + " "); // 我不希望条件出现在这里!!! }
我在论坛上搜索并尝试了以下代码:
for (let i = 1;( (i <= 1000) && (i % 2 == 0) ); i++) { document.write(i + " "); }
它看起来像是相同的代码,但是当我运行它时控制台上什么都没有显示出来。
问题的原因是循环头中的测试条件确定循环是否继续迭代。由于i的第一个值是1,而1不是偶数,所以循环体永远不会运行。整个测试表达式必须是真(或者"truthy"),循环才不会停止。因此,你不能将偶数测试放在循环头中,它必须是循环体内的一个单独的测试。你可以通过在迭代中从2开始并每次加2来实现无需测试的情况。这样,你就不需要进行偶数性测试了。
解决方法是将偶数测试放在循环体内部,如下所示:
for (let i = 1; i <= 1000; i++) { if (i % 2 === 0) { document.write(i); } }
以上代码将从1到1000之间的所有偶数打印出来。在循环的每次迭代中,通过使用取余运算符(%)来检查i是否为偶数。如果i对2取余的结果等于0,则说明i是偶数,将其打印出来。
这样,我们就可以使用循环和条件判断来打印出所有的偶数,而不需要使用if条件语句。