こんにちは!フリーランスの長野です。
Javaって使ってますか?
Javaのプログラムで必ず記述するのがmainメソッドです。
Javaを使い始めの頃は
public static void main(String[] args)
と呪文のように記述するように教わります。
この記事では、このmainメソッドについて
・mainとは?
・mainメソッドの宣言
という基本的な内容から
・mainメソッドの実行
など応用的な内容についても解説していきます。
今回はmainメソッドについて、わかりやすく解説します!
なお、Javaの記事については、こちらにまとめています。
mainとは?
mainとは、Javaのプログラムを実行する場合に必ず必要なメソッドのことです。
このmainメソッドはクラス内で宣言しますが、mainメソッドを宣言したクラスが実行時に最初に呼び出されます。
mainメソッドのないJavaプログラムは以下のようにエラーが発生します。
エラー: メイン・メソッドがクラスHelloで見つかりません。次のようにメイン・メソッドを定義してください。 public static void main(String[] args) またはJavaFXアプリケーション・クラスはjavafx.application.Applicationを拡張する必要があります
またmainメソッドの引数、戻り値には必ず守らなければならない決まり事があります。
これらについて詳しく解説していきます!
mainメソッドの宣言
mainメソッドの引数、戻り値、修飾子には必ず守らなければならない決まりごとがあります。
引数、戻り値、修飾子についてそれぞれみていきましょう。
引数
引数にはString型の配列、またはString型の可変長引数を指定する必要があります。
実行時に指定するコマンドライン引数をmainメソッド内で使用するためです。
引数名には「args」一般的によく使われますが、別の引数名でも構いません。
サンプルコードで確認してみましょう。
public class Hello { public static void main(String[] args) { System.out.println(args[0]); System.out.println(args[1]); } }
実行結果:
戻り値
mainメソッドの戻り値はvoidです。
つまりmainメソッドは値を返しません。
mainメソッド内でreturn句を使って値を返すと以下のようにエラーが発生します。
public class Hello { public static int main(String[] args) { return 1; } }
実行結果:
エラー: メイン・メソッドはクラスHelloのvoid型の値を返す必要があります。 次のようにメイン・メソッドを定義してください。 public static void main(String[] args)
static修飾子
mainメソッドには必ずstatic修飾子をつける必要があります。
staticメソッドとはnew句を使ってクラスをインスタンス化しなくても呼び出すことができるメソッドです。
mainメソッドは最初に呼び出されるメソッドですので、クラスをインスタンス化せずに呼び出せるようにstaticメソッドである必要があります。
もしstatic修飾子をつけない場合は次のようにエラーが発生します。
エラー: メイン・メソッドがクラスHelloのstaticではありません。次のようにメイン・メソッドを定義してください。 public static void main(String[] args)
staticメソッドについてはこちらで詳しく解説していますので、ぜひ参考にしてください。
mainメソッドの実行
mainメソッドが記述されたJavaファイルをコマンドで実行していみましょう。
Javaファイルを実行する前に、javacコマンドでコンパイルする必要があります。
javac mainメソッドが記述されたJavaファイル名.java
コンパイルするとclassファイルが作成されます。
そしてjavaコマンドでmainメソッドが記述されたJavaファイル名(拡張子なし)を指定すると実行できます。
java mainメソッドが記述されたJavaファイル名
コマンドで実行する方法については、こちらで詳しく解説していますので、ぜひ参考にしてください。
まとめ
今回はmainメソッドについて解説してきましたが、いかがでしたか?
mainメソッドは必ず必要で最初に実行されるメソッドです。
またmainメソッドの引数、戻り値、修飾子には決まりがあります。
mainメソッドを呪文のように記述するというよりも、これらの決まりごとを理解して使いこなせるように、この記事を何度も繰り返し参考ににしてくださいね!