こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

public static void main (String args[])

基本すぎて申し訳ありませんが、
public static void main (String args[])とはどういう意味を持っていますか?
教えてください。。

投稿日時 - 2006-01-05 16:24:11

QNo.1876924

困ってます

質問者が選んだベストアンサー

staticとかの意味はNo1の方の説明以外にありません。

mainは最初に実行されるメソッドという説明がされますので、「クラスを実行する時の引数とは?」と引っかかっているのかもしれませんね。
これはコマンドライン引数と呼ばれます。

たとえば、次のプログラム

public class ArgsTest{
  public static void main(String[] args){
    System.out.println(args.length);
    for(int i = 0 ; i < args.length ; i++){
      System.out.println(args[i]);
    }
  }
}

これを
>java ArgsTest abcde fghij(エンター)
として実行するとabcdeとfghijが引数となります。

ちなみに、mainはpublicでstaticなメソッドなので、
public class ArgsTest2{
  public static void main(String args[]){
    tamesi();
  }
  void tamesi(){
    String[] test = {"abcde","fghij"};
    ArgsTest.main(test);
  }
}
のように、外部のクラスからクラス名.mainで呼び出せます。(この2つのプログラムは、私が悩んだ時に試しにつくったものです)

ちなみにargsはarguments(=引数)の略で、mainの引数として、よく使われます。
argvのほうはargument valueの略です。C言語を使っていた人の中にはargvを使う人がいるかもしれません。

投稿日時 - 2006-01-08 15:26:16

お礼

ありがとうございます!!
例を出して頂き理解しやすかったです。
もう少し勉強させていただきます。

投稿日時 - 2006-01-10 18:46:25

ANo.4

このQ&Aは役に立ちましたか?

26人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

#1の補足に対する回答です。

メソッドのargsは単なる変数名なので、argvだろうがaaaだろうが何でもいいのです。

変数はご理解されてますよね?

投稿日時 - 2006-01-06 10:52:10

お礼

はい!それはさすがに大丈夫です(笑)
今試してみましたがその通りでした。。。
ありがとうございます!!まだまだ勉強不足です。。

投稿日時 - 2006-01-06 11:53:28

ANo.2

こんばんは(^^♪

そんなに深く考えることもないですよ。
mainメソッドと言ってコマンドから単体で
動作させることができます。

参考URL:http://www13.plala.or.jp/kymats/study/Java/b1-0.html

投稿日時 - 2006-01-06 00:49:45

お礼

ありがとうございます!
今まで深くは考えずに使っていたのですがふときになって勉強しようかと(笑)

投稿日時 - 2006-01-06 10:11:19

ANo.1

外に公開している静的な、戻り値のない、String配列を引数にもつmainという名前のメソッドです。

一般的にメインメソッドと呼ばれるもので、
javaを実行したときに暗黙的に呼び出されるメソッドのことです。

投稿日時 - 2006-01-05 19:22:01

お礼

ありがとうございます!!
単語で考えるとその通りですね。
もうひとつお聞きしたいのですが、本でargsの部分がargvになっているのを見たのですがなんなのでしょうか?
申し訳ありません。。

投稿日時 - 2006-01-06 10:17:31