C++
 Computer >> コンピューター >  >> プログラミング >> C++

Javaのbreakステートメントとcontinueステートメントの違いを徹底解説

プログラミングでは、コードは基本的に上から下へと1行ずつ実行されていきます。しかし、この実行フローを制御したい場面は多くあります。Javaでは、ループやswitch文の中で特定の処理をスキップしたり、処理を中断したりするために、breakcontinue の2つのジャンプ文が用意されています。

この記事では、breakとcontinueの主な違いを表形式で整理し、実際のコード例を使って動作の違いをわかりやすく解説します。

breakとcontinueの主な違い

No.項目breakcontinue
1機能breakが記述された時点で、そのbreakを囲んでいるwhile、do-while、forループ、またはswitch文全体を終了させます。continueが記述された時点で、その後の残りの処理をスキップし、次の繰り返し(イテレーション)へ移行します。
2実行フロープログラムの制御はループの末尾に移り、以降の処理はループの外側で続行されます。プログラムの制御はcontinueを含むループの次のイテレーションに移り、処理は引き続きループの内側で行われます。
3用途囲んでいるループ自体を打ち切りたい場合に使用します。現在の回の残り処理を飛ばして、早めに次の繰り返しへ進みたい場合に使用します。
4互換性switch文やラベル付きブロックでも使用できます。switch文やラベルとの組み合わせには対応していません(使用できません)。

continueとbreakのサンプルコード

以下の例では、breakは変数iが4になった時点でループを終了し、continueは変数iが1の時だけ出力をスキップします。

JavaTester.java

public class JavaTester{
    public static void main(String args[]){
        // break文の動作確認(iが4になった時点でループ終了)
        System.out.println("Break Statement\n");
        for(int i=1;i<=5;i++){
            if(i==4) break;
            System.out.println(i);
        }
        // continue文の動作確認(iが1の時のみ処理をスキップ)
        System.out.println("Continue Statement\n");
        for(int i=1;i<=5;i++){
            if(i==1) continue;
            System.out.println(i);
        }
    }
}

実行結果

Break Statement
1
2
3

Continue Statement
2
3
4
5

実行結果を見ると、breakの場合は「4」が出力される前にループ全体が終了しているのに対し、continueの場合は「1」だけがスキップされ、それ以外の値はすべて出力されていることがわかります。このように、breakは「ループからの脱出」、continueは「今回の処理だけスキップ」という役割の違いがあります。

  1. Javaにおける例外(Exception)とエラー(Error)の違いを徹底解説

    Javaにおいて、例外(Exception)とエラー(Error)はどちらも Throwable クラスのサブクラスです。しかし、両者には明確な違いがあり、堅牢なアプリケーションを開発するうえで、それぞれの特性を正しく理解することは非常に重要です。 エラー(Error)とは エラーは、主にシステムリソースの不足によって発生する深刻な問題を示します。この種の問題はアプリケーション側でキャッチ(捕捉)すべきものではなく、基本的にプログラマーが対処できる範囲を超えています。代表的な例としては、システムクラッシュやメモリ不足(OutOfMemoryError)などが挙げられます。 エラーはほとんどの

  2. JavaでのArrayListとHashSetの違いを徹底解説!使い分けのポイントも紹介

    HashSetとArrayListは、どちらもJavaコレクションフレームワークにおいて最も重要なクラスの一つです。それぞれ特徴が異なるため、用途に応じた適切な使い分けが求められます。本記事では、ArrayListとHashSetの主な違いを6つの観点から比較し、実際のサンプルコードとともにわかりやすく解説します。ArrayListとHashSetの違い一覧No.項目ArrayListHashSet1実装インターフェースListインターフェースを実装しています。Setインターフェースを実装しています。2内部構造内部的には配列(動的配列)を使って実装されています。内部的にはHashMapを使って