【しっかり押さえたい】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

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

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リナックスアカデミーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リナックスアカデミーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する