可以将所有for循环转换为while循环吗?

时间:2014-03-21 19:37:24

标签: loops for-loop while-loop continue

在下面的示例中使用从for循环到while循环的转换,// fixed block可以是任何有效的代码块,因为您可以在其之前或之后添加任何其他代码块-loop?

for (int i = 0; i < 10; i++) {
    // fixed block
}


int i = 0;
while (i < 10) {
    // any block
    // fixed block
    // any block
}

为了表明答案可能不是“是”,我想到了一个可能是反例的代码块:

for (int i = 0; i < 10; i++) {
    i = i * 2;
    if (1 < 2) {
        print(i);
        continue;
    }
}

if语句是这样的,因此在while循环中,您可以在continue;语句之后添加一段代码,而不会出现可能的编译器错误/警告。 for循环的输出是0,2,6和14.在while循环中的固定代码块之前或之后添加i++;不起作用,表明答案可能不是微不足道的。

1 个答案:

答案 0 :(得分:0)

当然可以,只是建立一个类似的退出条件。我不认为逆(while循环转换为for循环)是正确的。

另外,是的,如果代码有效(逻辑上和语法上),那么代码块在两种情况下的功能都相同,那么是的,它会起作用。