Category: Java

14-3.System

 
 

3. System 
Systemクラスは文字通りシステムに関するメソッドとメンバーを併せたクラスである。 例えば、コンソール(DOS窓)に文字を表示させたりするためのPrintStreamインスタンスや、アプリケーション終了に関するメソッド、このプログラムが実行されてからどのくらい時間が経過したか、ガーベージコレクターに関するメソッドなどがある。

import java.lang.System

メンバ
static
PringStream
err
  「標準」エラー出力ストリーム
static
InputStream
in
  「標準」入力ストリーム
static
PrintStream
out
  「標準」出力ストリーム
メソッド
static
void
arraycopy(Object src,int srcPos,Object dest,int destPos,int length)

指定位置で開始する指定ソース配列から、転送先配列の指定位置に配列をコピーする

static
long
currentTimeMillis()

現在時刻と協定世界時のUTC1970年1月1日午前0時との差をミリ秒で返す

static
void
exit(int status)

現在実行しているJava仮想マシンを終了する

static
void
gc()

ガーベージコレクタを実行する

static
String
getProperty()

指定されたキーによって示されるシステムプロパティを取得する

static
String
getProperty(String key,String def)

指定されたキーによって示されるシステムプロパティを取得する

static
void
runFinalization()

ファイナライズを保留しているオブジェクトのファイナライズメソッドを実行する

static
void
setErr(PrintStream err)

「標準」エラー出力ストリームを割り当てる

static
void
setIn(InputStream in)

「標準」入力ストリームを割り当てする

static
void
setOut(PrintStream out)

「標準」入力ストリームを割り当てする

   
sample) Systemクラスのarraycopyメソッドと、標準出力、標準エラー出力の例
import java.io.*;

class Test {
    public static void main(Stirng args[ ]) {
         float a[ ] = { 10.5f, 2.4f, 32.4f, -4.1f, 5.0f };
         float b[ ] = new float[a.length];

       //配列の表示
         arrayDisplay(a, b);

       //配列のコピー
         System.arraycopy( a, 0, b, 0, a.length);

       //配列の表示
         arrayDisplay( a, b);
       }

     //2つの配列を表示するメソッド
      public static void arrayDisplay( float array1[], float array2[] ){
         //2つの配列のサイズが違っていたらエラーメッセージを表示し、終了する
         if( array1.length != array2.length ){
               //通常エラーメッセージは、標準出力(System.out)ではなく
               //通常エラー出力(Stream.err)に出力する
               System.err.println("array1とarray2のサイズが違います");
               System.err.println("異常終了します");
               System..exit(-1);
         }

         //表示する部分
         for( int i = 0 ; i < array1.length ; i++ )
              System.out.println( i + ":" + array1[i] + "\t" + array2[i] );

        //改行
        System.out.println( );
   }
}

C:\Java\>java Test
0:10.5   0.0
1:2.4     0.0
2:32.4   0.0
3:-4.1   0.0
4:5.0     0.0

0:10.5   10.5
1:2.4     2.4
2:32.4   32.4
3:-4.1   -4.1
4:5.0     5.0

C:\Java\>

14-11.Number

 
 

11.Number 
 Numberクラスは数値を表すクラス(Byte,Short,Integer,Long,Integer,BigDecimal,BigInteger)の親クラスである。その名の通り数値を具象化するクラスで、他の数値の型に変換したり、文字列に変換したりする機能が備わっている。
 

import java.lang.Number

コンストラクタ
Number()
      抽象クラスなので、実際にインスタンスは作れない。
 
メソッド
byte byteValue()
      byte型に変換します。場合によって丸め込まれたり切り捨てられたりすることもある。
short shortValue()
      short型に変換する。場合によって丸め込まれたり切り捨てられたりすることもある。
int intValue()
      int型に変換する。場合によって丸め込まれたり切り捨てられたりすることもある。
long longValue()
      long型に変換する。場合によって丸め込まれたり切り捨てられたりすることもある。
float floatValue()
      float型に変換する。場合によって丸め込まれることもある。
double doubleValue()
      double型に変換する。場合によって丸め込まれることもある。
   

14.有用クラス -1.Math

14章 有用クラス
1.Math

import java.lang.Math

メンバー変数
static double E
    自然対数の底 e にもっとも近い double 値
static double PI
    円周とその直径の比 pi にもっとも近い double 値
メソッド
static double abs(double a)
    double 値の絶対値を返す
static float abs(float a)
    float 値の絶対値を返す
static int abs(int a)
    int 値の絶対値を返す
static long abs(long a)
    long 値の絶対値を返す
static double acos(double a)
    指定された角度の逆余弦 (アークコサイン) を、0.0 〜 pi の範囲で返す
static double asin(double a)
    指定された角度の逆正弦 (アークサイン) を、-pi/2 〜 pi/2 の範囲で返す
static double atan(double a)
    指定された角度の逆正接 (アークタンジェント) を、-pi/2 〜 pi/2 の範囲で返す
static double atan2(double y, double x)
    直交座標 (x, y) を極座標 (r, theta) に変換する
static double ceil(double a)
   引数の値以上で、計算上の整数と等しい、最小の (負の無限大にもっとも近い) double 値を返す
static double cos(double a)
    指定された角度(ラジアン)の余弦 (コサイン) を返す
static double exp(double a)
    オイラー数 e を double 値で累乗した値を返す
static double floor(double a)
    引数の値以下で、計算上の整数と等しい、最大の (無限大にもっとも近い) double 値を返す
static double log(double a)
    指定されたdouble値の自然対数値(底は e)を返す
static double max(double a, double b)
    2つのdouble値のうち大きい方を返す
static float max(float a, float b)
    2つのfloat値のうち大きい方を返す
static int max(int a, int b)
    2つのint値のうち大きい方を返す
static long max(long a, long b)
    2つのlong値のうち大きい方を返す
static double min(double a, double b)
    2つのdouble値のうち小さい方を返す
static float min(float a, float b)
    2 つの float 値のうち小さい方を返す
static int min(int a, int b)
    2つのint値のうち小さい方を返す
static long min(long a, long b)
    2つのlong値のうち小さい方を返す
static double pow(double a, double b)
    1番目の引数を、2番目の引数で累乗した値を返す
static double random()
    0.0以上で、1.0より小さい正の符号の付いたdouble値を返す
static double rint(double a)
    引数の値にもっとも近く、計算上の整数に等しいdouble値を返す
static long round(double a)
    引数にもっとも近いlongを返す
static int round(float a)
    引数にもっとも近いintを返す
static double sin(double a)
    指定された角度(ラジアン)の正弦(サイン)を返す
static double sqrt(double a)
    double値の正しく丸めた正の平方根を返す
static double tan(double a)
    指定された角度(ラジアン)の正接(タンジェント)を返す
static double toDegrees(double angrad)
    ラジアンで計測した角度を、相当する度に変換す
static double toRadians(double angdeg)
    度で計測した角度を、相当するラジアンに変換す
 
sample)Mathを用いて最大値と最小値を求める
import java.io.*;

class Test {
    public static void main(Stirng args[ ]) {
         float a[ ] = { 10.5f, 2.4f, 32.4f ,-4.1f, 5.0f };
         float minimum = Float.POSITIVE_INFINITY;      //floatで扱える最大値に初期化
         float maximum = Float.NEGATIVE_INFINITY;      //floatで扱える最小値に初期化

         forint i = 0 ; i < a.length ; i++ ){
              minimum = Math.min(minimum, a[i]);
              maximum = Math.max(maximum, a[i]);
         }

         System.out.println("最小値は" + minimum + "です");
         System.out.println("最大値は" + maximum + "です");

   }
}

C:\Java\>java Test
最小値は-4.1です
最大値は32.4です

C:\Java\>