ホームページ >Java >&#&チュートリアル >Javaのmain関数に関するサンプルコードの共有
この記事では、Java の main() 関数の詳細な導入に関する関連情報を主に紹介します。必要な方は、こちらを参照してください。
main 関数の紹介
JAVA の main 関数は、JAVA 言語を勉強したことがある方なら誰でもこのプログラムのエントリ関数を上手に書けると思いますが、なぜ main 関数はこのように書かれているのでしょうか。 ? 、それぞれのキーワードが何を意味するかは、誰もが簡単に答えられるものではないかもしれません。私も勉強中にこの問題に遭遇しました。インターネットで情報を検索し、自分の実践を追加した結果、あえて記録しなかったいくつかの洞察が得られたので、みんなと共有するために書き留めました。
main関数の一般的な書き方は以下の通りです:
public static void main(String[] args){…}
これらのキーワードの機能を以下に説明します:
(1) publicキーワード、これはmain関数をpublicとして宣言するとわかりやすいです。他のクラスにこの関数にアクセスできることを伝えます。
(2) static キーワードは、main 関数が静的関数であることをコンパイラーに伝えます。つまり、main 関数のコードは静的記憶領域に格納されます。つまり、このコードはクラス定義後にすでに存在します。 main() メソッドが static 修飾子を使用していない場合、コンパイル エラーは発生しませんが、プログラムを実行しようとすると、main() メソッドが存在しないことを示すエラーが報告されます。 main() を含むクラスはインスタンス化されていない (つまり、このクラスのオブジェクトがない) ため、その main() メソッドは存在しません。 static 修飾子を使用すると、メソッドが静的であり、インスタンス化せずに使用できることを意味します。
(3) void キーワードは、main() の戻り値が型なしであることを示します。
(4) パラメータ String[] args、これがこの記事の焦点です。
まず、プログラム利用者はコマンドライン状態で特定のクラスにパラメータを渡すことができます。次の例を見てください。
public class ArgsDemo { public static void main(String[] args) { String str = new String(); for (int i = 0; i < args.length; i++) { System.out.println(args[i]); str += args[i]; } System.out.println(str); } }
javac ArgsDemo.java コマンドを使用して ArgsDemo.class ファイルを生成し、「java ArgsDemo パラメータ 1 パラメータ 2 パラメータ 3...」の形式を使用してパラメータをパラメータに渡します。 ArgsDemo クラス。このサンプル プログラムでは、最初にパラメータを出力し、次にすべてのパラメータの合計を出力します。たとえば、java ArgsDemo a b c の場合、次の出力が得られます:
a b c abc
ここでのループ条件が i
Exception in thread “main” java.lang.ArrayIndexOutOfBoundException:3 at ArgsDemo.main(ArgsDemo.java:5)
ではないことに注意してください。2 番目に、別のクラス Class に main() を追加できます。次の例のように、パラメーターを渡します。
public class A { public static void main(String[] args) { for(int i=0;i <args.length;i++) System.out.println(args[i]); } } public class B { public static void main(String[] args) { c = new A(); String[] b = {"111","222","333"}; c.main(b); } }
まずクラス A を定義し、A で main() 関数を定義し、この関数のパラメーター args を出力します。次に、クラス B を定義し、B で A のインスタンス c を初期化し、パラメーターを c に渡し、c の main メソッドを呼び出して、渡されたパラメーター値を出力します。出力結果は以下の通りです。
111 222 333
main()関数は静的関数なのでインスタンス化せずに使用できるため、Bでも以下の書き方で同じ関数を完成させることができます:
public class B { public static void main(String[] args) { //A c = new A(); String[] b = {"111","222","333"}; A.main(b); } }
概要: パラメーター args の主な機能は、プログラム ユーザーがコマンド ライン状態でプログラムと対話する手段を提供することです。さらに、他のクラスで main() 関数を直接使用してパラメータを渡すことも可能ですが、このメソッドは一般的には使用されませんが、最終的にはオプションを提供します。
以上がJavaのmain関数に関するサンプルコードの共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。