Java の main メソッドとは?基本の書き方を学ぼう
新人
「Java でプログラムを書くときに、main メソッドってよく見かけますけど、これって何なんですか?」
先輩
「main メソッドは、Java プログラムを実行するときに最初に呼び出される場所なんだ。とても大切な部分だよ。」
新人
「じゃあ、Java を書くときは毎回 main メソッドを書かなきゃいけないんですか?」
先輩
「そのとおり!main メソッドがないと Java プログラムは実行できないんだ。詳しく説明していくね。」
1. main メソッドとは?
Java の main メソッドとは、Java プログラムを実行するときに最初に動作する部分のことです。main メソッドがあることで、Java の実行環境(JVM)が「ここからプログラムを始めよう」と判断します。
このため、Java 初心者が最初に覚えておくべき基本構文のひとつが、この main メソッドなのです。
Java の main メソッドは、クラスの中に定義されており、以下のような形で書かれます。
public class Sample {
public static void main(String[] args) {
System.out.println("Java プログラムの開始地点です");
}
}
この例では Sample というクラスの中に main メソッドがあります。Java プログラムの書き方では、このようにクラスと main メソッドをセットで記述するのが基本です。
Java 初心者がプログラムを作成する際は、必ずこの形を守って書くことが重要です。
2. main メソッドの基本構造を見てみよう
Java の main メソッドは、決まった形で書く必要があります。Java プログラムの書き方では、この基本の構造を理解することがとても大切です。
ここでは、main メソッドの基本的な書き方を例とともに見ていきましょう。
public class HelloMain {
public static void main(String[] args) {
System.out.println("Java main メソッドの基本構造を確認中です");
}
}
Java main メソッドの基本構造を確認中です
このプログラムでは、HelloMain というクラスの中に main メソッド が定義されており、System.out.println() によってメッセージが出力されています。
main メソッドは必ず public static void main(String[] args) の形式で書きます。Java の実行環境は、この形式の main メソッドを探してプログラムを開始するため、構文を間違えるとエラーになります。
main メソッドの中では、プログラムの開始時に実行したい命令や処理を記述していきます。たとえば、画面にメッセージを表示したり、他のメソッドやクラスを呼び出すことができます。
Java 初心者は、まずこの形を丸ごと覚えてしまうのがよいでしょう。構文の中のキーワードや意味については、次の章で詳しく解説します。
このように、main メソッドの基本的な形を理解することが、Java プログラムを正しく動かす第一歩です。Pleiades を使って、実際にこのコードを入力し、動作確認してみましょう。
3. main メソッドの構文の中身を分解して理解しよう
Java の main メソッドには、いくつかのキーワードや構成要素があります。Java 初心者にとっては見慣れない単語も多いですが、それぞれの意味を理解することで、より深く Java プログラムの書き方を身につけることができます。
ここでは、main メソッドの構文をさらに詳しく分解して解説していきます。
public static void main(String[] args) {
System.out.println("Hello from main method");
}
■ public
public はアクセス修飾子と呼ばれ、他のクラスやパッケージからこのメソッドを呼び出せるようにする指定です。Java の実行環境(JVM)がこのメソッドを探して呼び出すためには、public にしておく必要があります。
■ static
static は「クラスに所属する」という意味を持ちます。通常、メソッドを使うにはクラスのインスタンスを生成しますが、Java の main メソッドはプログラム実行時に最初に呼び出されるため、static を使って直接呼び出せるようにしています。
■ void
void は戻り値がないことを示すキーワードです。main メソッドは何か値を返すわけではなく、プログラムを実行するための処理を記述するだけなので void を使用します。
■ main
main は Java における特別なメソッド名で、実行の開始点として認識される名前です。小文字で正確に書く必要があり、Main と書くとエラーになります。
■ String[] args
この部分は「文字列の配列 args」という意味で、プログラム実行時に外部から情報を渡すために使います。初心者のうちは難しく感じるかもしれませんが、実務でよく使われるため形だけでも覚えておきましょう。
なお、この引数の書き方にはいくつかのパターンがあり、以下のように記述しても同じ意味になります。
public static void main(String args[]) {
System.out.println("引数の別の書き方でも動作します");
}
Java 基本文法を学ぶ上で、main メソッドは必ず出てくる重要な要素です。コードを見てすぐに意味が分かるよう、キーワードを意識して練習してみましょう。
4. main メソッドの書き方でよくある間違いとエラー
Java 初心者が main メソッドを書いていると、さまざまなエラーに遭遇することがあります。これらのエラーは、Java プログラムの書き方や構文ルールに従っていないことが原因で発生します。
ここでは、Java main メソッドの書き方でよくあるエラーと、正しい書き方、対処法について解説します。
■ スペルミス
Java では大文字と小文字が厳密に区別されます。以下のようなスペルミスは非常によくあるエラーの原因です。
// 間違い例
public static void Main(String[] args) {
System.out.println("エラーになります");
}
上記では、Main が誤りです。正しくは main と小文字で書く必要があります。
// 正しい例
public static void main(String[] args) {
System.out.println("正しく実行されます");
}
■ 引数の書き間違い
次によくあるのが、String[] args の書き間違いです。たとえば String args や String[args] のように書くとエラーになります。
// 間違い例
public static void main(String args) {
System.out.println("エラーになります");
}
引数は必ず「文字列の配列(String[])」である必要があり、次のように書くのが正解です。
// 正しい例
public static void main(String[] args) {
System.out.println("正しい引数の書き方です");
}
■ セミコロンの付け忘れ
Java の基本文法では、命令文の末尾に必ずセミコロン(;)を付ける必要があります。これを忘れると「構文エラー」になります。
// 間違い例
System.out.println("Hello World")
// 正しい例
System.out.println("Hello World");
■ クラス名とファイル名の不一致
Java では、public クラスの名前とファイル名が一致していなければなりません。たとえば、クラス名が HelloMain なのにファイル名が Sample.java だと、コンパイルエラーになります。
クラス名が HelloMain の場合、ファイル名は必ず HelloMain.java にする必要があります。
■ メソッドの位置がクラスの外にある
main メソッドは必ずクラスの中に書かなければなりません。クラスの外に書いてしまうと、Java コンパイラがメソッドとして認識できずエラーになります。
// 間違い例(クラスの外に main がある)
public static void main(String[] args) {
System.out.println("これは動きません");
}
public class Sample {
}
正しくは次のように、main メソッドをクラスの中に書きます。
public class Sample {
public static void main(String[] args) {
System.out.println("クラスの中なので正しく動きます");
}
}
このように、Java 初心者が最初につまずきやすいポイントを事前に知っておくことで、エラーの原因がすぐに分かり、安心して学習を進められます。
Pleiades 上で Java プログラムを書いていると、エラーが赤い波線やメッセージで表示されるため、こまめにチェックして間違いを修正しましょう。
Java main メソッド エラーの多くは基本的な文法ミスによるものです。正しい構文を覚えて、何度も実践することで自然と書けるようになっていきます。
5. main メソッドの使い方の応用(複数クラスとの関係など)
ここまでで Java の main メソッドの基本構文や書き方を理解しましたが、実際の Java プログラムでは、main メソッドは単体で使われることは少なく、他のクラスと連携して使われることが一般的です。
この章では、main メソッドの使い方を応用し、複数のクラスを使ってどのように処理を分担するのかを初心者向けに解説します。Java 学習ステップの中でも重要な「構造化されたプログラムの作り方」に近づいていきましょう。
■ クラスを分けて責任を分担しよう
Java では「1 クラス = 1 役割」という考え方が基本です。main メソッドを含むクラスは、あくまで「プログラムを起動する役割」に限定し、他の処理は別のクラスに任せることで、スッキリとしたコードになります。
// 出力を担当するクラス
public class Printer {
public void printMessage() {
System.out.println("複数クラスで構成された Java プログラムの例です。");
}
}
// プログラムを起動するクラス
public class MainApp {
public static void main(String[] args) {
Printer printer = new Printer();
printer.printMessage();
}
}
複数クラスで構成された Java プログラムの例です。
このように、main メソッドの中で他のクラスのメソッドを呼び出すことで、プログラム全体の見通しがよくなります。初心者のうちはすべてを 1 クラスに書いてしまいがちですが、早い段階から「分ける」ことを意識すると、より本格的なアプリケーション開発にスムーズに進むことができます。
■ 応用としての @Controller の使い方
Java では、画面からの操作やルーティング処理などを担当するクラスに @Controller アノテーションを付けて使用します。これも main メソッドと連携して動作する重要な仕組みです。
以下は簡単な例です。
@Controller
public class HelloController {
public void greet() {
System.out.println("コントローラからメッセージを表示します。");
}
}
public class MainControllerApp {
public static void main(String[] args) {
HelloController controller = new HelloController();
controller.greet();
}
}
コントローラからメッセージを表示します。
このように、main メソッドをスタート地点として、複数のクラスを呼び出し、さらに @Controller を付けたクラスを使って処理を分岐するような仕組みがよく使われます。Java main メソッド 応用として、ぜひ意識しておきたい構造です。
6. まとめ
この記事では、「Java の main メソッドとは?」というテーマに沿って、Java 初心者の方にもわかりやすく基本構文から応用までを解説しました。
- main メソッドは Java プログラムの実行開始地点であること
- 決まった構文(public static void main(String[] args))を使う必要があること
- main メソッドの中で
System.out.println()を使って文字を出力できること - 複数クラスを使うことで、プログラムを整理して分かりやすくできること
Java の main メソッドは、学習の最初に出てくる非常に大切な要素です。この基本をしっかり理解しておくことで、今後の Java 学習ステップがよりスムーズになります。
次は、「Java のコメントの書き方と使い方」について学びましょう。プログラムに説明を加える力は、読みやすさや保守性を高めるうえでとても重要です。
Pleiades を使って、実際に main メソッドを試しながら学んでいくことが、Java の基本を身につける近道です。焦らず、一歩ずつ学びを進めていきましょう!