int
はdouble
よりも精度が低いので、メソッドに解析するときにキャストする必要があると考えました。しかし、次のコードは正常に動作します。どうして?異なるデータ型を解析するJava
public class MyClass {
public static void main(String[] args) {
System.out.println(met(3/2));
}
static String met(int i){
return "This is what I get " + i;
}
}
ここでは「ダブル」は表示されません。 – rgettman
私はそれが3/2だと思った。 – ocram
'3/2'は二重ではない。これは '1'の値を持つ' int'です。 '3.0/2.0'は' double'で、値は '1.5'です。 – Gendarme