我只想将此“ for-loop”转换为“ while-loop”?
我尝试了所有,但没有任何效果。
对于循环:
for(int k = 3; k > 0; k--)
{
if(k % 2 == 0)
continue;
println(k);
}
我尝试过:
int k = 3;
while(k > 0)
{
if (k % 2 == 0){
continue;
}
k--;
println(k);
}
但是控制台显示不同的值吗?你能帮我吗?
答案 0 :(得分:1)
您必须在循环结束时且在k
语句之前更改控制变量continue
。在再次对循环的条件表达式求值之前:
int k = 3;
while(k > 0)
{
if (k % 2 == 0) {
k --; // <--- add
continue;
}
// k--; <--- remove
println(k);
k --; // <--- add
}
请注意,for
循环由初始语句,条件表达式和 iteration_expression 组成。
如果必须将for
循环语句表示为while
循环语句,则必须在循环之前完成 init-statement ,即 condition expression < / em>可以重新用于while
循环中的条件,并且 iteration表达式必须在while
循环中最后完成。此外,必须在continue
循环中的每个while
语句之前完成 iteration表达式表达式。
如果消除了continue
语句,则在循环末尾执行一次 iteration表达式就足够了:
int k = 3;
while(k > 0)
{
if (k % 2 != 0) {
println(k);
}
k --;
}