Java の main メソッドとは?プログラムの入り口を理解しよう
新人
「Javaのプログラムを書くときに、必ず main メソッドが必要って聞きました。どういうものなんですか?」
先輩
「Javaのプログラムは、main メソッドを持っているクラスから実行されるんだよ。言い換えると、Javaのプログラムが動くためのスタート地点なんだ。」
新人
「なるほど。じゃあ、main メソッドがないとプログラムは動かないんですね?」
先輩
「そのとおり!それじゃあ、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 メソッドが必要なのか?(プログラムの流れ)
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 メソッドの基本構文(書き方とルール)
Javaの main メソッドには、正しい書き方とルールがあります。以下の基本構文を理解しましょう。
public class MainExample {
public static void main(String[] args) {
System.out.println("main メソッドが動きました!");
}
}
このコードの各部分には、次のような意味があります。
- public - どこからでもアクセスできるようにするための修飾子。
- static - インスタンスを作成せずにメソッドを呼び出すために使う。
- void - メソッドが値を返さないことを示す。
- main - Javaのプログラムが最初に実行するメソッド。
- (String[] args) - コマンドライン引数を受け取るための変数。
このように、main メソッドの書き方は決まっているため、正しく書かないとエラーになります。
4. main メソッドの動作を確認しよう(実際にコードを書いて実行)
では、実際に main メソッドを使ってプログラムを実行してみましょう。
1. プログラムを作成する
Pleiadesを開き、新しい Java クラスを作成してください。クラス名は MainTest にしましょう。
2. コードを書いて実行する
次のように main メソッドを記述します。
public class MainTest {
public static void main(String[] args) {
System.out.println("Javaのプログラムを実行しています!");
}
}
3. プログラムを実行する
- Pleiadesの「実行」ボタンをクリック。
- コンソール画面に以下の出力が表示されることを確認。
Javaのプログラムを実行しています!
このように、main メソッドが実行されることで、プログラムの出力が確認できます。
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でプログラムを実行する際に、引数を指定すると、その値がプログラム内で使われます。
- Pleiadesの「実行構成」から「引数」を選択。
- プログラム引数に
Helloと入力し、「実行」ボタンをクリック。 - 以下の出力が表示される。
引数: Hello
このように、args を使うことで外部から値を渡すことができます。
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プログラムの入り口を理解するためのポイント
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をこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。
スッキリわかるJava入門 第4版をAmazonで見る※ Amazonアソシエイト・プログラムを利用しています