Java

2009年7月19日 (日)

Javaの型変換

恥ずかしながら、今更Javaを一から勉強中。
今日は型変換について。

double型にint型の計算結果を代入(1)

 class Test {
  public static void main(String[] args){
    double c;
    int a=2,b=1;
    c=b/a;
    System.out.printf("c=%f\n",c);
  }
}

結果
c=0.000000

double型にint型の計算結果を代入(2)

 class Test {
  public static void main(String[] args){
    double c;
    int a=2,b=1;
    c=(double)b/a;
    System.out.printf("c=%f\n",c);
  }
}

結果
c=0.500000

double型にint型の計算結果を代入(3)

 class Test {
  public static void main(String[] args){
    double c;
    int a=2,b=1;
    c=(double)(b/a);
    System.out.printf("c=%f\n",c);
  }
}

結果
c=0.000000

int型にdouble型の計算結果を代入(1)

 class Test {
  public static void main(String[] args){
    int c;
    double a=2.0,b=1.0;
    c=b/a;
    System.out.printf("c=%d\n",c);
  }
}

結果
Test.java:5: 精度が落ちている可能性
検出値  : double
期待値  : int
    c=b/a;
   ^

int型にdouble型の計算結果を代入(2)

 class Test {
  public static void main(String[] args){
    int c;
    double a=2.0,b=1.0;
    c=(int)b/a;
    System.out.printf("c=%d\n",c);
  }
}

結果
Test.java:5: 精度が落ちている可能性
検出値  : double
期待値  : int
    c=(int)b/a;
            ^

int型にdouble型の計算結果を代入(3)

 class Test {
  public static void main(String[] args){
    int c;
    double a=2.0,b=1.0;
    c=(int)(b/a);
    System.out.printf("c=%d\n",c);
  }
}

結果
c=0

| | コメント (0) | トラックバック (0)