/【しっかり押さえたい】Javaのmainメソッドとは?と使い方2017.05.30【しっかり押さえたい】Javaのmainメソッドとは?と使い方Java基礎TweetPocketJavaのmainメソッドとは、必ずはじめに実行されるJavaプログラムのメソッドのことだ。main」と打っていたと思うが、これもmainメソッドさえあればJavaプログラムは実行できるためだ。このページではmainメソッドについてお伝えしよう。mainメソッドとは?Javaプログラムには最初に実行されるメソッドがある。それはmainメソッドと呼ばれるもので、プログラムの開始はすべてこのmainメソッドから開始される。次のサンプルプログラムを見てみよう。World!");}}Javaの入門書や初心者向けWebサイトでよく見かける「Hello!World!」という文字をコンソールに表示するだけのプログラムだが、このプログラムを見るとmainメソッドに書かれていることがわかる。このような短いプログラムでも、数多くのクラスで構成されているプログラムでも、Javaプログラムはこのmainメソッドから始まるということを覚えておこう。mainメソッドがないとどうなる?プログラムにmainメソッドがないとどうなるのだろうか?次のサンプルプログラムを見てみよう。World!");}}mainの代わりにstartという名前を付けている。このプログラムの場合、コンパイルは成功するが、実行すると次のようなエラーが返される。"main""java.lang.NoSuchMethodError:main"は「mainというメソッドがないためにエラーが発生している」という意味で、プログラムが最初に実行すべきmainメソッドを探したが、見つけられなかったために発生している。このように、Javaプログラムではmainメソッドがプログラムの入り口となって実行されるため、mainメソッドを正しく準備しておく必要があるのだ。mainメソッドの書式mainメソッド次のような書式で設定される。args[]){(処理内容)}"public"とはアクセス修飾子のことで、プログラムの公開範囲を意味している。mainメソッドのアクセス修飾子はpublicでなければならない。"public"を省略したり、別のアクセス修飾子を指定したりすると実行できないので注意しよう。"static"とは「静的」という意味だ。詳しくはまた別の機会に説明するが、"static"なクラスは特別な宣言をしなくても実行することができる。それでは、mainメソッドの引数に設定されている"args[]"とは何を意味するのだろうか。mainメソッドはプログラムの入り口となっていることは説明したが、"args[]"はプログラムが実行されるときに渡される情報を意味している。これはコマンドラインでJavaプログラムを実行するとよくわかる。コマンドラインから前出のサンプルプログラム"SampleClass"を実行する場合、コマンドは次のようになる。SampleClass通常はこのように実行するが、次のように引数を渡して実行することもできる。"SampleArg2"この場合、"SampleArg1"、"SampleArg2"がSampleClassの実行時の引数として渡されているが、この引数がmainメソッドの引数"args[]"にあたる。外部プログラムから連携する際など、引数を指定して実行するケースがあるが、そのような場合に使われているので覚えておこう。まとめこのページでは基礎的な知識としてJavaのmainメソッドについてお伝えしてきた。Javaを触っていく上で必ず知っておきたい知識だ。参考にしていただければと思う。TweetPocketこのページの続きや関連ページは下記から一覧で確認できます。・「様々な分野や言語の講師にチャレンジしてみたい」という方はぜひIT講師募集のページをご覧ください。リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。IT講師募集のページを見るSNSでもご購読できます。【IT研修専門企業のリスキルテクノロジーです。】エンジニアの入り口に立つために役立つようなコンテンツを日々ご提供していきます。講師や代表やスタッフ陣が毎日楽しく書いています。ご質問・ご指摘等はぜひコメントください。*メールアドレス(公開はされません。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。講師スキル向上も目指せますIT講師に応募する。