
【6日でできるJava入門】main()メソッド
Javaアプリケーションのエントリーポイントはmain()メソッドです。Javaで作成したプログラムは、必ずこのmain()メソッドから実行が開始されます。main()メソッドは、コマンドライン引数(実行時パラメータ)を受け取ることで、プログラムの動作を柔軟に制御できます。ここでは、main()メソッドの基本的な使い方から、引数の扱い、終了処理、ヘルプ表示まで解説します。

1.main()メソッドの基本
1.1. main()メソッドの書式
Javaプログラムの開始点となるmain()メソッドは、次のように定義します。
public static void main(String[] args)| 修飾子 | 意味 |
|---|---|
| public | どこからでも呼び出せる。 |
| static | クラスから直接呼び出せる。 |
| void | 戻り値を返さない |
| String[] | 文字列型配列(コマンド引数) |
例:最小のmain()メソッド
ファイル名: lesson25_1.java
public class lesson25_1 {
public static void main(String[] args) {
System.out.println("こんにちは、Javaの世界!");
}
}実行結果
こんにちは、Javaの世界!1.2. コマンドライン引数の扱い
main()メソッドの引数String[] argsには、実行時に渡されたパラメータ(スペース区切りで指定)を格納できます。
例えば java Hello arg1 arg2 のように実行すると、
args[0]は"arg1"args[1]は"arg2"
になります。
2.コマンドライン引数の活用
2.1. 引数を利用して計算する
コマンドライン引数を使うことで、プログラムの動作を実行時に指定できます。
例:2つの整数値を引数として受け取り、減算結果を表示するプログラム
ファイル名: lesson25_2.java
public class lesson25_2 {
public static void main(String[] args) {
if (args.length != 2) {
System.out.println("使い方: java lesson25_2 <数値1> <数値2>");
System.exit(1); // 異常終了
}
int x = Integer.parseInt(args[0]);
int y = Integer.parseInt(args[1]);
System.out.println(x + " - " + y + " = " + (x - y));
}
}コマンドラインで実行する場合
> java lesson25_2 10 4
10 - 4 = 6引数不足時の実行例
> java lesson25_2 10
使い方: java lesson25_2 <数値1> <数値2>Eclipseで実行する場合
メニューの「実行」→「実行構成」をクリックします。

「引数」のタブで、「プログラムの引数」に「10 4」と入力し、「実行」ボタンをクリックします。

実行結果
10 - 4 = 62.2. オプションスタイルのコマンド引数
複数のパラメータをオプション形式で柔軟に指定することもできます。
| オプション例 | 説明 |
|---|---|
| -n <値> | 問題数や回数の指定 |
| -c <値> | 選択肢数の指定 |
| -h | ヘルプ表示 |
例:問題数と選択肢数を指定するプログラム
ファイル名: lesson25_3.java
public class lesson25_3 {
public static void main(String[] args) {
int questions = 10;
int choices = 4;
for (int i = 0; i < args.length; i++) {
if (args[i].equals("-n")) {
questions = Integer.parseInt(args[++i]);
} else if (args[i].equals("-c")) {
choices = Integer.parseInt(args[++i]);
} else if (args[i].equals("-h")) {
help();
} else {
help();
}
}
System.out.println("問題数: " + questions + ", 選択肢数: " + choices);
}
static void help() {
System.out.println("使い方: java QuizConfig [-n 問題数] [-c 選択肢数] [-h]");
System.exit(1);
}
}実行例
Eclipseで実行する場合は、メニューの「実行」→「実行構成」から引数「-n 12 -c 5」を指定します。
> java lesson25_3 -n 12 -c 5
問題数: 12, 選択肢数: 5
> java lesson25_3 -h
使い方: java lesson25_3 [-n 問題数] [-c 選択肢数] [-h]3.System.exit()でプログラム終了
System.exit(int)は、プログラムを即座に終了させる命令です。
- 引数に0を指定すると正常終了
- 0以外は異常終了(エラー終了)
例:
System.exit(0); // 正常終了
System.exit(1); // 異常終了4.main()メソッドとヘルプ機能
コマンド引数に"-h"を指定したときなど、main()メソッド内から補助的なstaticメソッドを呼び出して、使い方や説明文を表示できます。
4.1. staticな補助メソッド
ファイル名: lesson25_4.java
public class lesson25_4 {
public static void main(String[] args) {
if (args.length > 0 && args[0].equals("-h")) {
showHelp();
} else {
System.out.println("通常の処理を実行します。");
}
}
static void showHelp() {
System.out.println("使い方: java lesson25_4 [-h]");
System.exit(0);
}
}実行例
Eclipseで実行する場合は、メニューの「実行」→「実行構成」から引数「-h」を指定します。
> java lesson25_4 -h
使い方: java lesson25_4 [-h]まとめ
- main()メソッドはJavaプログラムのエントリーポイント。
- コマンドライン引数
String[] argsで柔軟な制御ができる。 - System.exit()やstaticな補助メソッドで終了・ヘルプ表示を制御できる。
- オプションスタイルでパラメータ指定すれば、再コンパイル不要で実行時に設定変更が可能。
主なmain()メソッド関連のまとめ表
| 項目 | 説明 |
|---|---|
| main書式 | public static void main(String[] args) |
| 引数取得 | args[0], args[1], ... |
| 引数数 | args.length |
| 終了 | System.exit(0), System.exit(1) |
| ヘルプ表示例 | static void help() { ... } |
コマンドライン引数例
| コマンドライン | args配列の内容 |
|---|---|
java Hello | なし(長さ0) |
java Hello Tokyo | args[0]="Tokyo" |
java QuizConfig -n 12 -c 5 | args[0]="-n", args[1]="12", args[2]="-c", args[3]="5" |
