gpt4 book ai didi

java - 如何将for循环转换为do-while循环?

转载 作者:行者123 更新时间:2023-12-01 06:25:36 24 4
gpt4 key购买 nike

这是Y Daniel Liang所著Java简介一书中的问题:

Convert for loop statement to a while loop and do-while loop?

int sum = 0; 
for (int i = 0; i <= 7; i++)
sum = sum + i;

我对如何将其转换为 do-while 循环感到非常困惑。我应该做些什么?请参阅下面我的代码。

public class Convert_forLoop_toWhileLoop {

public static void main(String[] args) {
int sum = 0;
int i = 0;
do {
sum = sum + i;
System.out.println(sum);
i++;
} while(i <= 7);
}
}

最佳答案

根据您想要的谨慎程度,for-循环示例的“更多”等效do-while-循环将是:

int sum1(int n) {
int sum = 0;
for (int i = 0; i <= n; i++) {
sum = sum + i;
}
return sum;
}

int sum2(int n) {
int sum = 0;
{
int i = 0;
if (i <= n) {
do {
sum = sum + i;
i++;
} while (i <= n);
}
}
return sum;
}

注意,我将您的示例包装在 sum1 中(传递 sum1(7) 相当于您的情况)。

对于那些真正想要吹毛求疵的人来说——请注意,Java 不一定将上面的两个函数编译成相同的字节码(至少当我测试它时,令我惊讶的是)。 sum2 的 2 个额外字节码指​​令(20 与 22)。我注意到一些有趣的事情。

关于java - 如何将for循环转换为do-while循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10504073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com