welcome: please sign in
location: "コマンドライン引数"の差分
4と5のリビジョン間の差分
2009-10-04 12:18:02時点のリビジョン4
サイズ: 1323
編集者: masahiko
コメント:
2009-10-04 12:22:51時点のリビジョン5
サイズ: 1793
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 33: 行 33:
'''例'''
行 55: 行 56:
与えられた引数をつないでできる文字列が sunday と等しいか調べるプログラムである。
<<BR>>次のようなパラメータを与えて実行すると
{{{
> java Test1 sun day
a equals b
}}}
a equals bは表示されるが、a == bは表示されない。
Stringの演算結果は新しいオブジェクトとして作成され、aとbは同じ内容であるが、別のオブジェクトとなることがわかる。

コマンドライン引数

mainメソッドは次のように記述した。

  •  public class Sample
     {
        public static void main(String[] args)
        {
          ...
        }
     }

引数argsはString(文字列)型の配列である。

この引数を使ってコマンドラインで指定された文字列を受け取ることができる。

  •  > java Sample abc defg 56

により実行された場合

  • args[0] の値は "abc"
  • args[1] の値は "defg"
  • args[2] の値は "56"

となる。もちろん両側の " を除いた文字列が実際の値である。 args[0]から始まることと、数字の並びであっても文字列として扱われることに注意。

引数に空白などの特殊文字を含めたいときは " ではさんで指定する。

  •  > java Sample "Hello World" 2000

引数が何個与えられたかを調べるには 配列args の大きさを調べればよい。


public class Test1
{
        public static void main(String[] args)
        {
                String a;
                String b;
                
                a = "sunday";
                b = "";
                for(int i = 0; i < args.length; i++)
                {
                        b = b + args[i];
                }
                System.out.println( b );
                if(a == b)
                        System.out.println("a == b");
                if(a.equals(b))
                        System.out.println("a equals b");
        }
}

与えられた引数をつないでできる文字列が sunday と等しいか調べるプログラムである。
次のようなパラメータを与えて実行すると

> java Test1 sun day
a equals b

a equals bは表示されるが、a == bは表示されない。 Stringの演算結果は新しいオブジェクトとして作成され、aとbは同じ内容であるが、別のオブジェクトとなることがわかる。

コマンドライン引数 (最終更新日時 2011-12-06 06:14:16 更新者 masahiko)