2017.07.14
2025.02.19
Javaプログラミング

break文
break文は、for文やwhile文などの繰り返し処理から強制的に抜けるための制御文です。
無限ループから抜ける時に使ったり、繰り返し処理の途中で処理を打ち切るときに使用します。また、switch文から抜ける際にも使用します。
一般的な書き方
for ( ; ; ) { : if ( 条件式 ) break; : }
while( true ) { : if ( 条件式 ) break; : }
以下は、switch文からbreak文で抜ける書き方です。
switch ( 式 ) { case : 定数式 : break; default : : break; }
for ( ; ; ) { // ← 外側のループ for ( ; ; ) { // ← 内側のループ : if ( 条件式 ) break; : } }
for ( ; ; ) { // ← 外側のループ for ( ; ; ) { // ← 内側のループ : if ( 条件式 ) break; // ← 内側のループを抜けるbreak文 : } : if ( 条件式 ) break; // ← 外側のループを抜けるbreak文 : }
または、
for ( ; ; ) { // ← 外側のループ : if ( 条件式 ) break; // ← 外側のループを抜けるbreak文 : for ( ; ; ) { // ← 内側のループ : if ( 条件式 ) break; // ← 内側のループを抜けるbreak文 : } }
Javaソースコード - for文の無限ループ
BreakSample.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022
public class BreakSample { public static void main(String[] args) { // ループ回数を格納する変数 int number; // 初期値を0 number = 0; // 無限ループ for ( ; ; ) { ++ number; // numberが10を超えたら // ループを抜ける if ( 10 < number ) break; // numberを表示 System.out.println( number ); } } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis BreakSample.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac BreakSample.java
実行
C:\talavax\javasample>java BreakSample
実行結果
1 2 3 4 5 6 7 8 9 10
ここからは、このソースコードを上から順番に解説していきます。
001
public class BreakSample {
クラス名を、BreakSampleとしています。
002
public static void main(String[] args) {
003 004
// ループ回数を格納する変数 int number;
006 007
// 初期値を0
number = 0;
numberに0を代入しています。
009 010
// 無限ループ for ( ; ; ) {
無限ループを作成しています。
011
++ number;
numberに1を足しています。
013 014 015
// numberが10を超えたら // ループを抜ける if ( 10 < number ) break;
numberが10を超えたらbreak文でfor文を抜けます。
017 018
// numberを表示
System.out.println( number );
numberの値を表示しています。
Javaソースコード - while文の無限ループ
BreakSample1.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022
public class BreakSample1 { public static void main(String[] args) { // ループ回数を格納する変数 int number; // 初期値を0 number = 0; // 無限ループ while ( true ) { ++ number; // numberが10を超えたら // ループを抜ける if ( 10 < number ) break; // numberを表示 System.out.println( number ); } } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis BreakSample1.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac BreakSample1.java
実行
C:\talavax\javasample>java BreakSample1
実行結果
1 2 3 4 5 6 7 8 9 10
Javaソースコード - 2重の無限ループで作成した九九
MultiTable9_7.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034
public class MultiTable9_7 { public static void main( String[] args ) { // 九九の計算(書式指定、無限ループ版) // 変数の宣言 int row; // 行(縦方向) int col; // 列(横方向) // 行方向の無限ループ row = 0; for ( ; ; ) { // 行rowに1を足す ++ row; // 行rowが9を超えたらループを抜ける if ( 9 < row ) break; // 列方向の無限ループ col = 0; for ( ; ; ) { // 列colに1を足す ++ col; // 列colが9を超えたらループを抜ける if ( 9 < col ) break; // 掛け算の結果を右詰め3桁で表示 System.out.printf( "%3d", row * col ); } // 改行 System.out.println(); } } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis MultiTable9_7.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac MultiTable9_7.java
実行
C:\talavax\javasample>java MultiTable9_7
実行結果
1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81
breakに関するコンテンツ
「break」に関係があるコンテンツをまとめています。