while 文の場合、条件が満たされない場合はループに入ることができません。ただし、条件が満たされない場合でも、少なくとも 1 回は実行する必要がある場合があります。
do...while ループは while ループと似ていますが、do...while ループは少なくとも 1 回実行される点が異なります。
do { //コードステートメント}while(ブール式);
do..while ループ ステートメントは、テスト後ループ ステートメントとも呼ばれます。そのループ繰り返し実行方法では、ステートメントを繰り返し実行し続けるかどうかを制御する条件も使用されます。 while ループとの違いは、最初にループ ステートメントを 1 回実行してから、実行を継続するかどうかを決定することです。たとえば、1 から 100 までのすべての整数の合計を計算するには、do...while ループ ステートメントを使用します。具体的なコードは次のとおりです。
int sum=0;int i=1;do{sum+=i;i++;} while (i<=100);System.out.println("1 から 100 までのすべての整数の合計は次のとおりです: "+sum);
do...while ループ文の実行処理は、まずループ本体を 1 回実行し、条件式を判定して条件式の値が true の場合は実行を継続し、そうでない場合はループから抜けます。つまり、do...while ループ ステートメントのループ本体が少なくとも 1 回実行されます。
注: ブール式はループ本体の後にあるため、ブール式をテストする前にステートメント ブロックが実行されています。 ブール式が true と評価されると、ブール式が false と評価されるまでステートメント ブロックが実行されます。
例
public class Test { public static void main(String args[]){ int x = 10; do{ System.out.print("x の値 : " + x ); ); }while( x < 20 );
上記の例のコンパイルと実行結果は次のとおりです。
x の値 : 10x の値 : 11x の値 : 12x の値 : 13x の値 : 14x の値 : 15x の値 : 16x の値 : 17x の値 : 18x の値 : 19