【Java】ifで条件判定してbreakでループを抜ける

記事の内容

今回の記事ではbreak文の使い方を解説してみたいと思います。break文の使い所としてはとりあえずずっとループさせたいんだけど、ある条件のときにだけループを抜けるみたいな処理をしたい時に使うことが多いです。コードで確認してみます。

コードで確認

まずはシンプルな例で確認

まずは単純なコードでbreak文を試してみます。

class Break {
	public static void main(String[] args) {
		int i = 0;
		while(true) {
			System.out.println("i = ", i);
			i++;

			if(i==10) {
				break;
			}

		}
	}	
}

このコードを実行するとiが9になるまで出力されます。whileの条件式にはtrueを入れているのでそのままだと無限ループとなって処理が終わりません。しかしwhile文の中でif文を使ってiが10になるとbreak文にたどり着きます。こうすることで無限ループになるはずのwhileを抜けて、処理が終わります。

i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9

 



もうちょっと使えそうな感じで確認してみる

先ほどのコードではbreakの使い方がお分かりいただけたかと思います。次にもう少し実際に使えるっぽい感じのコードで試してみたいと思います。

import java.util.Scanner;

class Break2 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String name=null;

		while(true) {
			System.out.print("名前を入力してください。(quitが入力されたら終わります。)");
			name = sc.nextLine();

			if(name.equals("quit")){
				System.out.println("プログラムを終了します。");
				break;
			}

			System.out.println("あなたの名前は" + name + "さんですね");

		}
	}
}

Scannerクラスをインポートして、キーボードからの入力をまち名前を聞き続けるプログラムです。「quit」が入力されるとif文の条件判定にあてはまるためbreak文が実行されプログラムを終了します。

名前を入力してください。(quitが入力されたら終わります。)Tanaka
あなたの名前はTanakaさんですね
名前を入力してください。(quitが入力されたら終わります。)suzuki
あなたの名前はsuzukiさんですね
名前を入力してください。(quitが入力されたら終わります。)maeda
あなたの名前はmaedaさんですね
名前を入力してください。(quitが入力されたら終わります。)yamasaki
あなたの名前はyamasakiさんですね
名前を入力してください。(quitが入力されたら終わります。)kakitani
あなたの名前はkakitaniさんですね
名前を入力してください。(quitが入力されたら終わります。)maruyama
あなたの名前はmaruyamaさんですね
名前を入力してください。(quitが入力されたら終わります。)quit
プログラムを終了します。

 



まとめ

break文は基本的にはループを繰り返したいけれど、特定の条件のもとでループを抜けて次の処理に移りたいという時に使うとうまく実装できます。

コメント

タイトルとURLをコピーしました