【Java】Mainメソッドとは?Mainメソッドについて解説!!

Javaプログラムは、どこかで実行を開始する必要があります。
プログラミングを始めた当時、私はどこからプログラムが動いているのかとても気になっていました。
Javaのプログラムはあるクラスのmainメソッドを実行することから始まります。
実行するクラスの名前を選択できますが、メソッドの名前は選択できません。
今回はMainメソッドについて解説していきます。

Mainメソッドとは?

Mainメソッドとは、Javaプログラムの起点となるメソッドとなります。
Javaのプログラムを起動した際に一番最初に実行されるポイントです。
mainメソッドが起点となるため、他のクラスで定義したメソッドなどは
mainメソッド内で呼びだされない限り、実行されることはありません。
また、mainメソッドが存在しない場合、このようなエラーが発生します。

ですのでMainメソッドとは一番最初に実行される必要なものだと思ってください。

定義の仕方

宣言の仕方は常に置かれているので書くことはあまりないと思いますが、
以下のように定義されます。

これは、Javaでプログラムを実行したことがある方は見たことがあるかと思います。
そして、mainメソッドにはpublic、staticおよびvoidという3つのキーワードがあります。
これらは何なのか?ともう方もいるかと思いますが、後の記事で説明しますので今回は覚えなくても大丈夫です。
ただし、main()メソッドの宣言にはこれら3つのキーワードが必要でなんだなということは覚えておいてください。

mainメソッドの実行

メソッドのパラメーターリストの後に、最初に左中括弧({)、次に空のスペース、そして右中括弧(})があります。
中括弧内には、mainメソッドの実行時に実行される命令を配置します。
これはメソッド本体とも呼ばれます。
先ほど紹介したコードではメソッドが空なので実行する命令はありません。
それでは次のコードを見てみましょう。

出力結果

Hello Flytech!!

すると、コンソールに「Hello Flytech!!」と出力されます。
なぜそうなったのかといますと、mainメソッドには次の命令を追加しました。

この命令は、System.out.println()の()の中にあるものをコンソールに出力してくださいという命令です。
今回は()の中には「Hello Flytech!!」という文字がありますので、
コンソールには「Hello Flytech!!」と出力されました。

main()メソッドの様々な書き方

main()メソッドを書く4つの方法

main()メソッドは

のイメージが強いかと思います。
しかし、これ以外にもmianメソッド()を書く、様々な方法があります。
あまり一般的ではないですが、異なる方法を4つ紹介しましょう。

一般的な書き方になります。

引数は引数として表すことができます。

main()メソッドに strictfp を追加することもできます。
これは、浮動小数点値を扱うときにプロセッサ間の互換性のために使用されます。

synchronizedとfinalもmain メソッドの有効なキーワードなのですが、ここでは効果はないです。
一方、final を args に適用して、配列が変更されないようにすることができます。

4つの方法でmain()メソッドを実行してみる

先ほど紹介した、4つの方法で実際に動くのか実行してみます。

出力結果

Hello!!

出力結果

Hello!!

出力結果

Hello!!

出力結果

Hello!!

どのパターンでも実行することができました。
しかし、main()メソッドはあまり気にすることはありませんので、変更が必要な場合以外は、
一番最初に紹介したパターンで定義した方が安全だと思います。

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し