Java での System.exit()メソッドの使用

Mohammad Irfan 2023年10月12日
Java での System.exit()メソッドの使用

このチュートリアルでは、Java での System.exit() メソッドの機能を紹介します。

System は、現在の実行と JVM を停止し、プログラムへの制御を終了するために使用される exit() メソッドなど、システム関連のタスクを処理するためのいくつかのユーティリティメソッドを提供する Java のクラスです。コードでこのメソッドを使用して、現在のフローを終了できます。

このメソッドの一般的な構文を以下に示します。

public static void exit(int status)

現在実行中の Java 仮想マシンを終了します。

ステータスコードとして機能する単一の整数引数を取ります。慣例により、ゼロ以外のステータスコードは異常終了を示します。

このメソッドは、クラス Runtimeexit メソッドを呼び出します。このメソッドは正常に戻ることはありません。内部的には以下のコードに似ています。

Runtime.getRuntime().exit(n)

このメソッドは、セキュリティマネージャが存在する場合に SecurityException をスローし、その checkExit メソッドは指定されたステータスでの終了を許可しません。

Java の System.exit() メソッド

この例では、exit() メソッドを使用して、リスト要素が 50 より大きい場合にプログラムを終了しました。要素が 50 未満の場合は最大の要素を出力しますが、50 より大きい要素がある場合は終了してコンソールにさようならを出力します。

以下の例を参照してください。

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<Integer> list = new ArrayList<>();
    list.add(23);
    list.add(32);
    list.add(33);
    System.out.println(list);
    Integer result = getMax(list);
    System.out.println("result " + result);
    list.add(80);
    result = getMax(list);
    System.out.println("result " + result);
  }
  public static Integer getMax(List<Integer> list) {
    if (Collections.max(list) > 50) {
      System.out.println("Bye");
      System.exit(1);
      return Collections.max(list);
    }
    return Collections.max(list);
  }
}

出力:

[23, 32, 33]
result 33
Bye

関連記事 - Java Method