【しっかり押さえたい】Javaのmainメソッドとは?と使い方

javaのメインメソッド
  • このエントリーをはてなブックマークに追加
  • Pocket

Javaのmainメソッドとは、必ずはじめに実行されるJavaプログラムのメソッドのことだ。

何もわからないうちもなんとなく「void main」と打っていたと思うが、これもmainメソッドさえあればJavaプログラムは実行できるためだ。

このページではmainメソッドについてお伝えしよう。

mainメソッドとは?

Javaプログラムには最初に実行されるメソッドがある。それはmainメソッドと呼ばれるもので、プログラムの開始はすべてこのmainメソッドから開始される。次のサンプルプログラムを見てみよう。

Javaの入門書や初心者向けWebサイトでよく見かける「Hello!World!」という文字をコンソールに表示するだけのプログラムだが、このプログラムを見るとmainメソッドに書かれていることがわかる。 

このような短いプログラムでも、数多くのクラスで構成されているプログラムでも、Javaプログラムはこのmainメソッドから始まるということを覚えておこう。 

mainメソッドがないとどうなる?

プログラムにmainメソッドがないとどうなるのだろうか?次のサンプルプログラムを見てみよう。

mainの代わりにstartという名前を付けている。このプログラムの場合、コンパイルは成功するが、実行すると次のようなエラーが返される。 

"java.lang.NoSuchMethodError:main"は「mainというメソッドがないためにエラーが発生している」という意味で、プログラムが最初に実行すべきmainメソッドを探したが、見つけられなかったために発生している。 

このように、Javaプログラムではmainメソッドがプログラムの入り口となって実行されるため、mainメソッドを正しく準備しておく必要があるのだ。

mainメソッドの書式

mainメソッド次のような書式で設定される。

"public"とはアクセス修飾子のことで、プログラムの公開範囲を意味している。mainメソッドのアクセス修飾子はpublicでなければならない。"public"を省略したり、別のアクセス修飾子を指定したりすると実行できないので注意しよう。 

"static"とは「静的」という意味だ。詳しくはまた別の機会に説明するが、"static"なクラスは特別な宣言をしなくても実行することができる。

それでは、mainメソッドの引数に設定されている"args[]"とは何を意味するのだろうか。mainメソッドはプログラムの入り口となっていることは説明したが、"args[]"はプログラムが実行されるときに渡される情報を意味している。

これはコマンドラインでJavaプログラムを実行するとよくわかる。コマンドラインから前出のサンプルプログラム"SampleClass"を実行する場合、コマンドは次のようになる。

$ java SampleClass

通常はこのように実行するが、次のように引数を渡して実行することもできる。 

$ java SampleClass "SampleArg1" "SampleArg2"

この場合、"SampleArg1"、"SampleArg2"がSampleClassの実行時の引数として渡されているが、この引数がmainメソッドの引数"args[]"にあたる。

外部プログラムから連携する際など、引数を指定して実行するケースがあるが、そのような場合に使われているので覚えておこう。

まとめ

このページでは基礎的な知識としてJavaのmainメソッドについてお伝えしてきた。

Javaを触っていく上で必ず知っておきたい知識だ。参考にしていただければと思う。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*

ゼロからエンジニアを目指す方へ
短期間でエンジニアになる方法

必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報を無料でお届け

資料を見てみる