Java main() メソッドとは何ですか?
java main()メソッドは、Java 仮想マシン (JVM) の開始点です。Java プログラムの実行を開始するために使用されます。main ()メソッドは、Java プログラムの実行に不可欠な部分であるため、Java プログラミングを始めるときにおそらく最初に学習するメソッドでしょう。mainメソッドの一般的な構文は次のとおりです。public static void main(String[] args){
// some code here in the main() method
}
例
class NewYear {
public static void main(String... newyearargs) // main() method
{
System.out.println("Happy New Year 2023");
}
}
PS例に示すように、メインメソッド構文の「args」部分を変更して独自に名前を付けることができます。mainメソッドの「String[]」部分を「String… args」として 記述する別の方法もあります。
main() メソッド修飾子
main 関数を記述するための署名メソッドは、次の 3 つの主要な修飾子で構成されます。公共
この修飾子は、アクセス指定子の名前としてよく知られています。名前のとおり、この修飾子はプログラムを実行するためのJava 仮想マシン (JVM)へのアクセスを許可します。 JVM へのアクセスを許可するには、コードの作成時に publicを使用して、Java ランタイム環境 (JRE) がメソッドにアクセスして実行できるようにする必要があります。例
public class NewYear{
//using main function
static void main(String... newyearargs){ // defining main() method here
System.out.println("Happy New Year");
}
}
mainメソッドがパブリックではなく、JRE がそれを見つけることができない ため、プログラムをコンパイルして実行すると、次のエラーが発生します。
エラー: Main メソッドがクラス New Year に見つかりません。`main` メソッドを public static void main(String[] args) として定義するか、JavaFX アプリケーション クラスが javafx.application.Application を拡張する必要があります。
静的
Javaプログラム起動時にはクラスのオブジェクトは存在しません。JVMがクラスをメモリにロードし、最初にクラスのインスタンスを生成せずに main 関数 を呼び出すためには、mainメソッドは静的である必要があります。public class NewYear{
public void main(String... newyearargs){ // defining main() method here
System.out.println("Happy New Year");
}
}
mainメソッドが静的ではない ため、プログラムをコンパイルして実行すると、次のエラーが発生します。
出力
エラー: Main メソッドはクラス New Year で静的ではありません。`main` メソッドを次のように定義してください: public static void main(String[] args)
空所
戻り値の型は、すべての Java 関数によって提供される必要があります。何も返さない場合、Java main関数の戻り値の型はvoidです。Java アプリケーションはmainメソッドが完了すると終了するため、オブジェクトを返す必要はありません。次のコード例の main 関数は、戻り値の型が void の場合に何かを返そうとします。public class NewYear{
public static void main(String... newyearargs){ // defining main() method here
return 0;
}
}
mainメソッドがvoidで何も返さない ため、プログラムをコンパイルして実行すると、次のエラーが発生します。
出力
New Year.java:5: エラー: 互換性のない型: 予期しない戻り値が 0 を返します。^ 1 エラー
主要
これは、JVM で事前定義されたデフォルトの署名です。JVM はこのメソッドを呼び出してプログラムを 1 行ずつ実行し、このメソッドが完了すると実行を終了します。main()メソッドを複数回呼び出すこともできます。以下はmain関数の図です。public class NewYear{
public static void newMain(String... newyearargs){
System.out.println("Happy New Year");
}
}
mainメソッドの名前が正しくない ため、プログラムをコンパイルして実行すると、次のエラーが発生します。
出力
エラー: Main メソッドがクラス New Year に見つかりません。`main` メソッドを public static void main(String[] args) として定義するか、JavaFX アプリケーション クラスが javafx.application.Application を拡張する必要があります。
文字列[] 引数
Javaの main関数は、単一のString配列を入力として受け取ります。配列の文字列はコマンドライン引数です。実行時に、ユーザーはコマンド ライン引数を使用して、プログラムの動作に影響を与えたり、プログラムにデータを送信したりできます。次の例は、コマンド ライン引数を出力する例を示しています。public class NewYear{
public static void main(String... newyearargs){ // main() function goes here
for(String s : newyearargs){
System.out.println(s);
}
}
}
いくつかの引数を指定してプログラムを実行すると、プログラムのコンパイル時に引数がコンソールに表示されることがわかります。
出力
2 0 2 3 明けましておめでとうございます
GO TO FULL VERSION