4.1.6 do-while繰り返し制御文
14250 ワード
do-while文はwhile文とよく似た繰返し制御文であり、条件式のチェックと繰返し実行の順序に差があるだけである.まずdo-while文の基本構文を見てみましょう.
👀do-while文の構成
ステップA:構文の実行
ステップB:条件式(真)->構文の実行
...
ステップc:条件式(偽)->終了
while文はまず条件式をチェックするので、最小繰返し回数は0(最初の条件式がfalseの場合)ですが、do-while文は先に実行してから条件式をチェックするので、最小繰返し回数は1です.それ以外はwhile文と同じです.次のコードを見てみましょう.
👀条件式falseが最初から現れたときのdo-while文とwhile文の比較
ここでdo-while文はwhile文より1回多く実行されていると考えられますが、決してそうではありません.次に、1回以上繰り返し実行する例を見てみましょう.前の例では、条件式のみがa<0からa<10に変更された.
👀 1回以上繰り返した場合のdo-while文とwhile文の比較
👀do-while文の構成
초기식; // 필수 문법은 아니지만 일반적으로 사용
do {
실행 구문; // 최초 1회는 무조건 실행
증감식; // 필수 문법은 아니지만 일반적으로 사용
} while(조건식); // 문법 구조상 중괄호가 없으므로 세미콜론(;)으로 끝남
他のコントロールドアとは違って、ちょっと特殊に見えますdo{...}while(条件式);制御文では、一意のセミコロン(;)貼り付けます.初期式と増減式はwhile文で説明したように省略できますが、for文やwhile文の関係をよりよく理解するために基本構文構造に含めます.実行プロセスを表示し、まずdo文を実行し、条件式を確認します.条件式が真の場合はdo文を再実行し、偽の場合は制御文を終了します.以上の過程を以下にまとめる.ステップA:構文の実行
ステップB:条件式(真)->構文の実行
...
ステップc:条件式(偽)->終了
while文はまず条件式をチェックするので、最小繰返し回数は0(最初の条件式がfalseの場合)ですが、do-while文は先に実行してから条件式をチェックするので、最小繰返し回数は1です.それ以外はwhile文と同じです.次のコードを見てみましょう.
👀条件式falseが最初から現れたときのdo-while文とwhile文の比較
int a;
//while
a = 0;
while(a < 0) {
System.out.print(a + " "); // 0회 실행
}
System.out.println();
//do-while
a = 0;
do {
System.out.prinltn(a + " "); // 1회 실행
a++
} while(a < 0);
初期値a=0であるため、最初から条件式a<0はfalseである.このときwhile文はカッコ内に入れないため、一度も実行されません.逆にdo-whileの場合は、まず1回実行し、条件式をチェックして1回実行します.ここでdo-while文はwhile文より1回多く実行されていると考えられますが、決してそうではありません.次に、1回以上繰り返し実行する例を見てみましょう.前の例では、条件式のみがa<0からa<10に変更された.
👀 1回以上繰り返した場合のdo-while文とwhile文の比較
int a;
///while
a = 0;
while(a < 10) {
System.out.println(a + " "); // 0, 1, 2, ..., 9 : 10회 실행
a++;
}
System.out.println();
//do-while
a = 0;
do {
System.out.println(a + " "); // 0, 1, 2, ... 9 : 10회 실행
a++;
} while(a < 10);
変数値を1つずつ計算すればわかりますが、1回以上繰り返すとwhile文とdo-while文は同じ結果になります.整理するとwhileドアは0番1番2番3番です...繰り返すときにこれをdo-whileに変えると1番1番2番3番...繰り返します.すなわちwhile文は0回の繰返しでのみ差があり,1回以上で同じである.決してdo-while文が再実行されるわけではないことを覚えておいてください.実習
//반복 횟수가 0일 때 do-while 문과 while문 비교
int a;
a = 0;
while(a < 0){
System.out.print(a + " "); // 실행 횟수 0번
a++;
}
System.out.println();
a = 0;
do {
System.out.print(a + " "); // 실행 횟수 1번
a++;
} while (a < 0);
System.out.println();
//반복 횟수가 1일 때 do-while문과 while문 비교
a = 0;
while(a < 1) {
System.out.print(a + " "); // 실행 횟수 1번
a++;
}
System.out.println();
a = 0;
do {
System.out.print(a + " ");
a++;
} while (a < 1);
System.out.println();
//반복 횟수가 10일 때 do-while문과 while문 비교
a = 0;
while(a < 10) {
System.out.print(a + " "); // 실행 횟수 10번
a++;
}
System.out.println();
a = 0;
do {
System.out.print(a + " "); // 실행 횟수 10번
a++;
} while (a < 10);
結果Reference
この問題について(4.1.6 do-while繰り返し制御文), 我々は、より多くの情報をここで見つけました https://velog.io/@1205kjw/4.1.6-do-while-반복-제어문テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol