CodeGym /Java Blog /ランダム /Java の System.exit()
John Squirrels
レベル 41
San Francisco

Java の System.exit()

ランダム グループに公開済み
Java のSystemクラスには、System を処理するためのフィールドとメソッドが含まれています。そのうちの 1 つは、現在実行中のプログラム、つまり JVM インスタンスを終了する必要がある場合に Java 言語で使用されるSystem.exit ()メソッドです。exit メソッドの下に挿入された行は到達できず、実行されません。

System.exit() メソッドの構文

System.exit()メソッドの構文は次のとおりです。

public void static(int status)
したがって、これが静的メソッドであることがわかります。実際には、 Systemクラスのメソッドはすべて静的メソッドです。exit ()メソッドは引数として整数を受け取り、何も返しません。したがって、exit メソッドをSystem.exit(i)として呼び出します(i は整数)。この整数は「終了ステータス」と呼ばれ、ゼロまたはゼロ以外の要素にすることができます。ステータスが 0 — exit(0)の場合、プログラムは正常に終了します。ゼロ以外のステータス — exit(1) は、 JVM の異常終了を示します。Java の System.exit() - 1

System.exit() メソッドの例

ステータスがゼロおよびゼロ以外の整数であるexit()メソッドの 2 つの簡単な例を見てみましょう。最初の例では、色の配列に対するループがあります。ループが「緑」になったら、アプリケーションを終了する必要があります。

import java.lang.*;  
 
class Main {
  public static void main(String[] args) {
    String colors[]= {"red","blue","green","black","orange"};  
    for(int i=0;i<colors.length;i++)  {  
      System.out.println("Color is "+colors[i]);
      if(colors[i].equals("green")) {  
        System.out.println("JVM will be terminated after this line"); 
        System.exit(0); 
      }
    }  
  }
}
次の出力が表示されます。Java の System.exit() - 2ステータスとして 0 を使用したため、ターミナルの出力には終了コードが表示されませんでした。ゼロは正常に終了したことを示すため、終了コードを出力する必要はありません。そこで、次の例ではステータスとして正の整数を使用してみましょう。この例では、0 から 10 までの乱数を生成するループを作成します。生成された数値が 2、3、または 7 の場合、アプリケーションを終了する必要があり、どの数値が終了の原因となったかを出力する必要があります。以下のコードを参照してください。

import java.lang.*;  
import java.util.Random; 
 
class Main {
  public static void main(String[] args) {
    System.out.println("program will be terminated when values are 2, 3, or 7");  
    int i;
    Random number=new Random();
    while(true){
      i = number.nextInt(11);
      System.out.println("Random Number is "+i); 
      if(i==2||i==3||i==7){
        System.out.println("Value is "+ i + " your program will be terminated now");  
        System.exit(i);
      }
    }
  }
} 
コードを実行すると、次の出力が得られました。Java の System.exit() - 3ご覧のとおり、3 番によりアプリケーションが異常終了します。次に、ステータス コードを効果的に使用する方法を見てみましょう。

ステータスコードを効果的に使用する方法

通常、ステータス コードは、コマンドライン インターフェイス (CLI) を通じて Java プログラムを実行するときに重要です。このプログラムを使用して他の標準ツール、プログラム、またはオペレーティング システムと通信することを目的としている場合は、ステータス コードを使用すると有益です。プログラムがオペレーティング システムと通信することを目的としている場合は、オペレーティング システムに固有のステータス コードを使用できます。たとえば、128 は、「終了するための引数が無効です」を表す UNIX の標準ステータス コードです。

System.exit メソッドを使用する場合

System.exitの一般的な使用法の 1 つは、プログラムに異常な状態が発生し、それ以上問題を引き起こさずにプログラムを直ちに終了する必要がある場合です。もう 1 つの用途は、メイン メソッド以外からプログラムを終了する必要がある場合です。Java には「シャットダウンフック」と呼ばれる特別な構造があり、開発者はこれを使用して、JVM の終了前に実行する必要があるコードスニペットをプラグインできます。これらは、クリーンアップ操作を行う場合に特に便利です。このような場合、System.exit メソッドはシャットダウン フックを呼び出すために使用されます

結論

この記事では、System.exit()メソッドについて詳しく学びました。Java におけるSystem.exitは、 JVM を終了する方法を意味します。アプリケーションはexit()メソッド以下のコードを実行しないため、System.exitメソッドは何も返しません。exit()メソッドの実際の使用法についても説明します。ただし、Java コミュニティでは、他のオプションがある限り exit メソッドの使用を推奨していません。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION