do while文
while文は、繰り返しの条件を先に判断します。場合によっては一度も繰り返し処理をしないこともあります。while文同じように、条件を指定して繰り返すステートメントとして「do while」文があります。do while文は繰り返し処理を一度実行してから、繰り返しの条件を判断します。そのため、少なくとも一度は繰り返し処理が実行されることになります。
do while文の書式 |
---|
do{ 処理; } while(継続条件式); |
例:
do{
num = 1;
}while(num != 1);
do while文は、whileの継続条件を指定した後は「;」でステートメントの終了を指定します。
○ ファイル
次のようにファイルを作成してください。
ファイル名 | DoWhileTest.java |
---|
○ プログラム
次のようにプログラムを入力してください。
DoWhileTest.java
- import java.io.*;
- class DoWhileTest{
- public static void main(String[] args) throws Exception{
- //データを入力する準備をする
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- //入力データを格納する変数を準備する
- String str;
- //「E」が入力されるまで繰り返す
- do{
- //データを入力する
- System.out.print("データを入力:");
- str = br.readLine();
- //入力内容を表示する
- System.out.println("「" + str + "」が入力されました。");
- }while(!str.equals("E"));
- }
- }
○ コンパイルと実行
C:¥work>javac WhileTest.java
C:¥work>java WhileTest
データを入力:a
「a」が入力されました。
データを入力:b
「b」が入力されました。
データを入力:E
「E」が入力されました。
C:¥work>
○ フローチャート
○ 解説
今回のサンプルも、キーボードから「E」が入力されるまで入力内容が表示されるプログラムです。9行目では、変数strを宣言しています。これは、19行目の繰り返しの継続条件の判定で変数の内容を判定するためにこの位置で宣言しています。もし、doのブロック内で宣言してしまうと、スコープの外となり、19行目でコンパイルエラーとなります。
14~18行目では、キーボード入力と、入力内容の表示処理が記述されています。一度この処理をして、変数strにデータが入力されている状態で19行目の判定が行われます。