我改了下代碼順序?yàn)槭裁床怀闪?/h1>
{
? ? public static void main(String[] args) {
// 保存累加值
int sum = 0;
// 從1循環(huán)到10
for (int i = 1; i <= 10; i++) {
// 每次循環(huán)時(shí)累加求和
// 判斷累加值是否大于20,如果滿足條件則退出循環(huán)
if (? ?sum>20? ? ? ? ? ?) {
sum = sum + i;?
//退出循環(huán)
break;
}
System.out.print("當(dāng)前的累加值為:" + sum);
? ?
}
}
}
為什么輸出的十個(gè)累加值都是0,我的想法是If語(yǔ)句先運(yùn)行,直到sum值大于20或者i值大于等于10,整個(gè)循環(huán)停止然后輸出,求教
{
? ? public static void main(String[] args) {
// 保存累加值
int sum = 0;
// 從1循環(huán)到10
for (int i = 1; i <= 10; i++) {
// 每次循環(huán)時(shí)累加求和
// 判斷累加值是否大于20,如果滿足條件則退出循環(huán)
if (? ?sum>20? ? ? ? ? ?) {
sum = sum + i;?
//退出循環(huán)
break;
}
System.out.print("當(dāng)前的累加值為:" + sum);
? ?
}
}
}
為什么輸出的十個(gè)累加值都是0,我的想法是If語(yǔ)句先運(yùn)行,直到sum值大于20或者i值大于等于10,整個(gè)循環(huán)停止然后輸出,求教
2019-01-12
因?yàn)槟愕膇f判斷為如果sum>20,則執(zhí)行sum=sum+i,并退出循環(huán),所以在執(zhí)行時(shí),if判斷結(jié)果為false,永遠(yuǎn)不會(huì)執(zhí)行sum求和,也不會(huì)執(zhí)行break,會(huì)進(jìn)入死循環(huán),所以執(zhí)行結(jié)果為"當(dāng)前的累加值為0"并且一直循環(huán)這一句。
參考代碼:
public class HelloWorld {
? ? public static void main(String[] args) {
int sum=0;
for (int i =1;i<=10;i++){
? ? if(sum>20){
? ? ? ? break;
? ? }?
? ? sum=sum+i;
}
System.out.println("當(dāng)前的累加值為:"+sum);
}
}