●javaの基本データ型には文字列がありませんでした。文字列は基本データでなく、オブジェクトなのです。しかし基本データのようにもあつかえます。次のように使います。
String s = "abc";
そうです。int などの基本データ型と全く同様に使えます。
String s,t; // 宣言します s = "abc"; // 代入します t = "def"; s = s + t; // 連結します System.out.println( s ); // 表示します。abcdef となります。
●配列にもできます。
String[] u = {"abc","def","ghi"}; または String w[] = {"abc","def","ghi"};
●そうです。プログラムの中にいつもあった次のフレーズにこの配列があります。
public static void main( String[] args ) {
次のように書いても同じです。
public static void main( String args[] ) {
args は変数名なので何を使ってもいいのです。人によっては 別の名前を使います。。
public static void main( String[] argv ) {
●コマンドライン引数とは、次のようなものです。
U:\user\java>java ArgTest 10 20 abc
ArgTest という java プログラムにとって、10 20 abc が引数となります。(コマンドラインという言葉はDOSプロンプトなどで命令を1行に書いてEnterで実行させるところから来ています)この引数が、次の main の( )の中の文字列の配列に読み込まれます。
public static void main( String[] args ) {
その結果空白を区切りとして3つの要素があると判断され、次のように代入されます。
args[0] | args[1] | args[2] |
10 | 20 | abc |
/** コマンドライン引数のテスト */ public class ArgTest { public static void main( String[] args ) { System.out.println ( args[0] ); System.out.println ( args[1] ); System.out.println ( args[2] ); } }
コンパイル後実行すると次のようになります。
U:\user\java>java ArgTest 10 20 abc 10 20 abc
●このプログラムは args[2] を参照していますから、引数が3より少ないと実行時にエラーになります。
●コマンドライン引数は文字列ですから 10 は 10 でなくて、"10" なのです。もし、上記のプログラムの中で次の様な命令をすると、結果は 30 ではありません。
System.out.println ( args[0] + args[1] );
●これを数値として使用するためには、変換が必要です。次の様にします。
int a = Integer.parseInt( args[0] );
これで、a という int型の変数に、10という数値がはいります。
●上記 ArgTest.java を作りなさい。
●2つの引数を入れて実行すると、足し算をするプログラムを作りなさい。
/** 2つの引数の和を求める */ public class ArgTest2 { public static void main( String[] args ) { /* このあとを続けること。 */
●1つの引数をうけとり、それを分として解釈して〜時間〜分と表示するプログラムを作りなさい。
実行例(1:20や4:10などの表示でもよい)
U:\user\java> java ArgTest3 80 1時間20分 U:\user\java> java ArgTest3 250 4時間10分
●引数の数が足りないとエラーになることがあります。配列の要素数を調べる方法がありますから、これを使って引数の数を知ることができます。
int i = args.length;
これで i の中に args という配列の要素の数を得ることができます。