これまでメッセージをを出力させる場合にはおまじないのように、「 System.out.println("出力したいメッセージ"); 」と記述していましたね。 今回はこれらについて少し詳しく見てみます。
Javaのプログラムはクラスのやり取りで実行されます。これも 「 Systemクラス 」 に格納されている静的変数 「 out 」 を使用しているのです。 ちなみにこの 「 out 」 には 「 PrintStream 」 という出力用のオブジェクトへの参照が格納されており、このオブジェクトが提供するメソッド「 println 」を使用してメッセージを出力しているのです。
この Systemクラスには、標準入力、標準出力、およびエラー出力ストリームへの参照、ファイルおよびライブラリのローディング方法、配列の一部をすばやくコピーするユーティリティメソッドがあります。
Systemクラスではプログラムを終了する exitという静的メソッドも提供します。
System.exit(int);
このメソッドが呼び出された時点で、現在実行している Java仮想マシンを終了させます。また引数はステータスコードとして使用します。
正常終了を表す場合は「0」を、それ以外の場合は異常終了を表しています。
また Systemクラスでは配列のコピーを行うユーティリティメソッド「
arraycopy 」も静的メソッドとして提供しています。このメソッドは 2つの配列で要素をコピーする際に使用します。
public static void arraycopy(
Object arrFrom,
int intFrom,
Object arrDest,
int intDes,
int intLen
) ;
| 引数 |
| 1. |
転送元配列 |
| 2. |
コピーする配列の開始要素番号。(先頭は0) |
| 3. |
転送先配列。 |
| 4. |
転送先の代入開始要素番号。(先頭は0) |
| 5. |
転送する要素数。 |
|
[ 例 ]
public class Sample_ArrayCopy {
public static void main(String args[]){
int[] ArrFrom = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] ArrDest = new int[10];
System.arraycopy(ArrFrom, 2, ArrDest, 4, 5); // 1
for (int i = 0; i < ArrDest.length; i++) { // 2
System.out.println(ArrDest[i]);
}
}
}
1. 転送元配列の要素 2番目から 要素 4番目へコピーを開始すると指定しています。Lengthで 5を指定しているので、転送元配列の要素 2番目(3)から 5つ(7)までが転送先配列へコピーされます。
出力結果は以下のようになります。
[結果例 ]
0
0
0
0
3
4
5
6
7
0