実数と整数との間の型変換

実数の値を整数型の変数に代入したり,整数値を実数型の変数に代入したり したいことがある.このような際に,型変換をおこなう必要がある.型変換に は,暗黙(implicit)の型変換と明示的(explicit)な型変換の2種類がある.
明示的な型変換
Java言語には「(型の名前)式」とすると,式の値を計算した上で指定し た型に変換可能な場合は変換するという構文(キャスト演算子)が用意されてい る.
暗黙の型変換
整数値を実数型の変数に代入する場合などは,明示的に指定しなくても 自動的に変換をおこなってくれる.これを暗黙の型変換と呼ぶ.
この例を見てみる.
class ConvTest{
  public static void main(String[] args){
    long i=0,j;
    double f=-1.9,g;
    // j=f; // この行を残すとコンパイルエラーが出る
    j=(int)f; // 実数から整数への変換
    g=i;      // 整数から実数への暗黙の変換
    g=(double)i; // 整数から実数への明示的な変換 
    System.out.println("j="+j+",g="+g); // 表示
  }
}
実行してみると,
ca20121$ java ConvTest
j=-1,g=0.0
となる.実数から整数への変換としてまず思いつくのが四捨五入だが,Java言 語の実数から整数への変換は四捨五入ではない(実は0の方向への丸め)とわか る.四捨五入(というか一番近い整数値に変換)をおこなたい場合は, Math.rint(正確にはMathクラスのrintメソッド)を使って,
class ConvTest{
  public static void main(String[] args){
    long i=0,j;
    double f=-1.9,g;
    // j=f; // この行を残すとコンパイルエラーが出る
    j=(int)Math.rint(f); // 一番近い整数値に変換
    g=i;      // 整数から実数への暗黙の変換
    g=(double)i; // 整数から実数への明示的な変換 
    System.out.println("j="+j+",g="+g); // 表示
  }
}
とする必要がある.
その他の制御文