ウェブサイト検索

public static void main(String[] args) - Java メイン メソッド


序章

Java main メソッドは、Java プログラムを実行するためのエントリ ポイントであるため、通常、Java でプログラミングを開始するときに最初に学ぶメソッドです。 main メソッドには、他のメソッドを実行または呼び出すコードを含めることができ、プログラムの一部である任意のクラスに配置できます。通常、より複雑なプログラムには、main メソッドのみを含むクラスがあります。 main メソッドを含むクラスには任意の名前を付けることができますが、通常はクラス Main を呼び出すだけです。

次の例では、main メソッドを含むクラスは Test と呼ばれます。

public class Test {

	public static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

この記事では、 main メソッドの各コンポーネントが何を意味するかを学びます。

Java メイン メソッドの構文

main メソッドの構文は常に次のとおりです。

public static void main(String[] args){
	// some code
}

String 配列引数の名前のみを変更できます。たとえば、argsmyStringArgs に変更できます。 String 配列引数は、String... args または String args[] として記述できます。

公共

JRE がこのメソッドにアクセスして実行できるように、main メソッドのアクセス修飾子は public である必要があります。メソッドが公開されていない場合、アクセスは制限されます。次のコード例では、main メソッドに public アクセス修飾子がありません。

public class Test {

	static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

プログラムをコンパイルして実行すると、main メソッドが公開されておらず、JRE がそれを見つけられないため、次のエラーが発生します。

  1. javac Test.java
  2. java Test
Output
Error: Main method not found in class Test, please define the `main` method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application

静的

Java プログラムの開始時には、クラスのオブジェクトは存在しません。 JVM がクラスをメモリにロードし、クラスのインスタンスを作成せずに main メソッドを呼び出すことができるように、main メソッドは static である必要があります。初め。次のコード例では、main メソッドに static 修飾子がありません。

public class Test {

	public void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

プログラムをコンパイルして実行すると、main メソッドが static ではないため、次のエラーが発生します。

  1. javac Test.java
  2. java Test
Output
Error: Main method is not static in class Test, please define the `main` method as: public static void main(String[] args)

空所

すべての Java メソッドは、戻り値の型を提供する必要があります。 Java main メソッドの戻り値の型は、何も返さないため void です。 main メソッドの実行が終了すると、Java プログラムは終了するため、オブジェクトを返す必要はありません。次のコード例では、main メソッドは、戻り値の型が void の場合に何かを返そうとします:

public class Test {

	public static void main(String[] args){
	
		return 0;
	}
}

プログラムをコンパイルすると、戻り値の型が void の場合、Java は戻り値を予期しないため、次のエラーが発生します。

  1. javac Test.java
Output
Test.java:5: error: incompatible types: unexpected return value return 0; ^ 1 error

主要

Java main メソッドは、常に main という名前です。 Java プログラムが開始すると、常に main メソッドを探します。次のコード例は、myMain に名前が変更された main メソッドを示しています。

public class Test {

	public static void myMain(String[] args){

		System.out.println("Hello, World!");
	}
}

プログラムをコンパイルして実行すると、JRE がクラスで main メソッドを見つけられないため、次のエラーが発生します。

  1. javac Test.java
  2. java Test
Output
Error: Main method not found in class Test, please define the `main` method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application

文字列[]引数

Java main メソッドは、タイプ String 配列の単一の引数を受け入れます。配列内の各文字列は、コマンド ライン引数です。コマンドライン引数を使用して、実行時にプログラムの動作に影響を与えたり、情報をプログラムに渡したりできます。次のコード例は、プログラムの実行時に入力したコマンド ライン引数を出力する方法を示しています。

public class Test {

	public static void main(String[] args){

    	for(String s : args){
		System.out.println(s);
    	}
	
    }
}

プログラムをコンパイルし、いくつかのコマンド ライン引数をスペースで区切って実行すると、引数がターミナルに表示されます。

  1. javac Test.java
  2. java Test 1 2 3 "Testing the main method"
Output
1 2 3 Testing the main method

結論

この記事では、Java の main メソッドの各コンポーネントについて学びました。より多くの Java チュートリアルで学習を続けてください。

関連記事: