カテゴリ: Javaの基本 更新日: 2026/01/19

Java の main メソッドとは?プログラムの入り口を理解しよう

058
Java の main メソッドとは?プログラムの入り口を理解しよう

新人と先輩の会話形式で理解しよう

新人

「Javaのプログラムを書くときに、必ず main メソッドが必要って聞きました。どういうものなんですか?」

先輩

「Javaのプログラムは、main メソッドを持っているクラスから実行されるんだよ。言い換えると、Javaのプログラムが動くためのスタート地点なんだ。」

新人

「なるほど。じゃあ、main メソッドがないとプログラムは動かないんですね?」

先輩

「そのとおり!それじゃあ、main メソッドの基本を学んでいこう!」

1. Javaの main メソッドとは?(プログラムの開始点)

1. Javaの main メソッドとは?(プログラムの開始点)
1. Javaの main メソッドとは?(プログラムの開始点)

Javaの main メソッドとは、プログラムが最初に実行される部分のことです。Javaのプログラムは、main メソッドがなければ動作しません。

以下が、Javaの基本的な main メソッドの形です。


public class MainExample {
    public static void main(String[] args) {
        System.out.println("Javaプログラムが動きました!");
    }
}

このプログラムを実行すると、画面に以下のように表示されます。


Javaプログラムが動きました!

このように、Javaのプログラムは main メソッドから実行が始まります。

2. なぜ main メソッドが必要なのか?(プログラムの流れ)

2. なぜ main メソッドが必要なのか?(プログラムの流れ)
2. なぜ main メソッドが必要なのか?(プログラムの流れ)

Javaのプログラムは、基本的にクラスの中に書かれます。しかし、クラスだけではプログラムは動作しません。Javaは、プログラムを開始する場所を知るために、決まった形の main メソッドを探します。

main メソッドの書き方には決まりがあります:

  • 必ずpublic static void main(String[] args)という形で書く
  • クラスの中に定義する
  • プログラムの入り口として、main メソッドから実行が始まる

例えば、以下のコードは main メソッドがないため、実行することができません。


public class NoMain {
    public void sayHello() {
        System.out.println("こんにちは!");
    }
}

このコードを実行しようとすると、以下のエラーが発生します。


エラー: メイン・メソッドが見つかりません。

このように、Javaのプログラムは main メソッドを必ず探すので、正しい形で定義する必要があります。

3. main メソッドの基本構文(書き方とルール)

3. main メソッドの基本構文(書き方とルール)
3. main メソッドの基本構文(書き方とルール)

Javaの main メソッドには、正しい書き方とルールがあります。以下の基本構文を理解しましょう。


public class MainExample {
    public static void main(String[] args) {
        System.out.println("main メソッドが動きました!");
    }
}

このコードの各部分には、次のような意味があります。

  • public - どこからでもアクセスできるようにするための修飾子。
  • static - インスタンスを作成せずにメソッドを呼び出すために使う。
  • void - メソッドが値を返さないことを示す。
  • main - Javaのプログラムが最初に実行するメソッド。
  • (String[] args) - コマンドライン引数を受け取るための変数。

このように、main メソッドの書き方は決まっているため、正しく書かないとエラーになります。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. main メソッドの動作を確認しよう(実際にコードを書いて実行)

4. main メソッドの動作を確認しよう(実際にコードを書いて実行)
4. main メソッドの動作を確認しよう(実際にコードを書いて実行)

では、実際に main メソッドを使ってプログラムを実行してみましょう。

1. プログラムを作成する

Pleiadesを開き、新しい Java クラスを作成してください。クラス名は MainTest にしましょう。

2. コードを書いて実行する

次のように main メソッドを記述します。


public class MainTest {
    public static void main(String[] args) {
        System.out.println("Javaのプログラムを実行しています!");
    }
}

3. プログラムを実行する

  1. Pleiadesの「実行」ボタンをクリック。
  2. コンソール画面に以下の出力が表示されることを確認。

Javaのプログラムを実行しています!

このように、main メソッドが実行されることで、プログラムの出力が確認できます。

5. main メソッドの引数(String[] args とは?)

5. main メソッドの引数(String[] args とは?)
5. main メソッドの引数(String[] args とは?)

main メソッドの引数 String[] args は、外部からデータを渡すために使います。

1. String[] args の基本

Javaのプログラムは、コマンドライン引数を受け取ることができます。たとえば、以下のコードを見てみましょう。


public class CommandLineExample {
    public static void main(String[] args) {
        System.out.println("引数: " + args[0]);
    }
}

2. 実行時に引数を渡す

Pleiadesでプログラムを実行する際に、引数を指定すると、その値がプログラム内で使われます。

  1. Pleiadesの「実行構成」から「引数」を選択。
  2. プログラム引数に Hello と入力し、「実行」ボタンをクリック。
  3. 以下の出力が表示される。

引数: Hello

このように、args を使うことで外部から値を渡すことができます。

6. main メソッドのカスタマイズ(main メソッド内で処理を追加)

6. main メソッドのカスタマイズ(main メソッド内で処理を追加)
6. main メソッドのカスタマイズ(main メソッド内で処理を追加)

main メソッドは、単にプログラムの開始地点であるだけでなく、さまざまな処理を実行できます。

1. 計算を行う

main メソッド内で数値の計算を行うことができます。


public class Calculator {
    public static void main(String[] args) {
        int a = 10;
        int b = 5;
        int sum = a + b;
        System.out.println("足し算の結果: " + sum);
    }
}

このコードを実行すると、以下のように出力されます。


足し算の結果: 15

2. 条件分岐を使う

main メソッド内で条件分岐を使用して、異なる処理を実行できます。


public class AgeCheck {
    public static void main(String[] args) {
        int age = 20;
        if (age >= 18) {
            System.out.println("あなたは大人です。");
        } else {
            System.out.println("あなたは未成年です。");
        }
    }
}

このプログラムでは、年齢に応じて異なるメッセージを出力します。

7. Javaプログラムの入り口を理解するためのポイント

7. Javaプログラムの入り口を理解するためのポイント
7. Javaプログラムの入り口を理解するためのポイント

Javaのプログラムの入り口である main メソッドを理解するためには、いくつかのポイントがあります。

1. main メソッドは必ず必要

Javaのプログラムは main メソッドがないと実行できません。必ず public static void main(String[] args) を正しく記述しましょう。

2. メソッドの中に処理を記述する

main メソッドの中にコードを書くことで、プログラムが実行されます。


public class Hello {
    public static void main(String[] args) {
        System.out.println("こんにちは、Java!");
    }
}

このコードを実行すると、コンソールに「こんにちは、Java!」と表示されます。

3. 引数を使うと柔軟なプログラムが作れる

コマンドライン引数を活用すると、ユーザーが入力した値をプログラムで処理することができます。


public class Greeting {
    public static void main(String[] args) {
        if (args.length > 0) {
            System.out.println("こんにちは、" + args[0] + "さん!");
        } else {
            System.out.println("名前が入力されていません。");
        }
    }
}

このプログラムは、実行時に名前を入力すると「こんにちは、〇〇さん!」と表示します。

まとめ

まとめ
まとめ

この記事では、Javaの main メソッドについて、プログラム初心者でも理解できるように、基本から具体例まで丁寧に解説してきました。main メソッドは、Javaプログラムにおける「入り口」であり、「どこから処理が始まるのか」を示す非常に重要な存在です。Javaを学ぶうえで、main メソッドの仕組みを正しく理解することは、すべての基礎になると言っても過言ではありません。

Javaでは、クラスの中に public static void main(String[] args) という決まった形のメソッドを定義することで、プログラムを実行できます。この形が少しでも崩れてしまうと、Javaは「どこから実行すればよいのか」を判断できず、エラーになってしまいます。そのため、main メソッドの構文は丸暗記に近い形で覚えておくことが、初心者にとっては大切なポイントです。

また、main メソッドがなぜ必要なのかという点についても学びました。Javaは複数のクラスやメソッドを持つプログラムを書けますが、その中で最初に動かす場所を明確にするために、main メソッドという共通ルールを採用しています。この仕組みのおかげで、Javaは大規模なプログラムでも安定して動作させることができます。

main メソッドの引数である String[] args についても理解を深めました。これは、プログラムの外部から値を受け取るための仕組みで、コマンドライン引数として使われます。初心者のうちは使う機会が少ないかもしれませんが、後々、柔軟なプログラムを作るために必ず役立つ知識です。

さらに、main メソッドの中では、画面への出力だけでなく、計算処理や条件分岐など、さまざまな処理を書けることも確認しました。Javaの学習は、まず main メソッドの中に簡単なコードを書いて動かし、その後メソッドやクラスを増やしていく流れが基本になります。今回学んだ内容は、今後のJava学習の土台として、何度も振り返ることになるでしょう。

main メソッドの基本を振り返るサンプルプログラム


public class MainSummarySample {
    public static void main(String[] args) {
        System.out.println("これはJavaプログラムの入り口です");
        System.out.println("mainメソッドから処理が始まります");
    }
}

このプログラムを実行すると、次のような結果が表示されます。


これはJavaプログラムの入り口です
mainメソッドから処理が始まります

このようなシンプルなコードでも、Javaプログラムとして正しく動作するのは、main メソッドが正しい形で定義されているからです。まずは、この基本形を確実に身につけることが、Java上達への近道になります。

先生と生徒の振り返り会話

生徒

「main メソッドが、Javaプログラムのスタート地点だという意味がよく分かりました。最初は呪文みたいに感じていましたが、理由を知ると納得できますね。」

先生

「それはとても良い理解です。Javaでは、この決まった入り口があるからこそ、どんなプログラムでも同じように実行できるんですよ。」

生徒

「引数の String[] args も、外から値を受け取るためのものだと分かって、少し応用ができそうだと感じました。」

先生

「その気づきは大切ですね。今は使わなくても、後で必ず役立つ知識になります。」

生徒

「まずは main メソッドの書き方をしっかり覚えて、いろいろなプログラムを書いてみたいです。」

先生

「その意気です。main メソッドを理解できた今が、Java学習の本当のスタートですよ。」

Javaの基本の一覧へ
新着記事
Dart言語とは?Flutter開発に欠かせない基礎知識まとめ
FlutterとDart言語とは何かを徹底解説 初心者向けFlutter開発に欠かせない基礎知識まとめ
Flutterで多言語対応を実装する方法!i18nの基本と例
Flutterで多言語対応を実装する方法!i18nの基本と例を初心者向けに解説
Flutterの日本語化対応まとめ!言語設定の基本と注意点
Flutterの日本語化対応まとめ!多言語対応と言語設定の基本・注意点を初心者向けに解説
EC2インスタンスの作成・起動手順を初心者向けに解説
AWS EC2インスタンスの作成・起動手順を初心者向けに徹底解説【2025年版】
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク