【Java入門】exitでプログラムを終了させる(returnとの違いも解説)

こんにちは!エンジニアの中沢です。

Javaにはプログラムを終了するために「Systemクラス」の「exitメソッド」があります。

プログラムを強制的に終了させることができるので上手く活用してください。

この記事では、

・exitメソッドとは
・exitメソッドの使い方

という基本的な内容から、

・exitメソッドとreturn文の違い

などの応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、exitメソッドの使い方をわかりやすく解説します!

なお、Javaの記事については、こちらにまとめています。

目次

exitメソッドとは

exitメソッドはプログラムを強制的に終了させるために使います。

exitメソッドの引数には終了コードとして、正常に終了した場合には「0」を指定し、異常終了した場合には「0」以外の値を指定します。

メソッドの処理を終了して呼び出し元のメソッドに戻るには「return文」を使いますが、exitメソッドはその行でプログラムを終了します。

return文の使い方についてはこちらの記事で詳しく解説しているので、ぜひ確認してください。

exitメソッドの使い方

ここでは、exitメソッドの使い方を解説します。

exitメソッドはそこでプログラムを終了させるので、その後の処理は実行されません。

次のプログラムで確認してみましょう。

public class Main {
	public static void main(String[] args) {

		System.out.println("表示されるメッセージ");
		System.exit(0);

		System.out.println("表示されないメッセージ");
	}
}

実行結果:

表示されるメッセージ

このプログラムの実行結果から、exitメソッドの後の処理は実行されていないことが確認できました。

exitメソッドとreturn文の違い

ここでは、exitメソッドとreturn文の違いを解説します。

exitメソッドでプログラムを終了させる場合には、finallyブロック内の処理は実行されません。

return文で処理を終了させる場合には、finallyブロック内の処理が実行されます。

次のプログラムで確認してみましょう。

public class Main {
    public static void main(String[] args) {

        try {
            System.out.println("tryの処理");
            System.exit(0);
        } catch (Exception e) {
            System.out.println("catchの処理");
        } finally {
            System.out.println("finallyの処理");
        }
    }
}

実行結果:

tryの処理

このプログラムの実行結果から、exitメソッドではfinallyブロック内の処理が実行されないことが確認できました。

try-catch文の使い方はこちらの記事で詳しく解説しているので、ぜひ確認してください。

まとめ

いかがでしたか?

今回は「Systemクラス」の「exitメソッド」で、プログラム終了させる方法を解説しました。

exitメソッドはreturn文と違い、その行でプログラムを終了できるのでぜひ活用してくださいね。

もし、exitメソッドの使い方を忘れてしまったらこの記事を確認してください!

この記事を書いた人

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
ntakeshi@sejuku.net

目次