welcome: please sign in

2009-10-09 11:56:44時点のリビジョン6

メッセージを消す
location: コマンドライン引数

コマンドライン引数

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

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

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

により実行された場合

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

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

このとき

である。

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


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は表示されない。

変数bの値は"sunday"となっていて 変数aの値の"sunday"と同じであるが、 Stringの演算結果は新しいオブジェクトとして作成されるため、2つは異なるオブジェクトである。

そのため

となる。