在 java 中类型转换为双精度值

Type conversion to double value in java

public class TypeConversion4 {

    public static void main(String[] args) {
        double d = 2D + 2d + 2. + 2l + 2L + 2f + 2F + 2.f + 2.D;
        System.out.println(d); //prints 18.0
    }
}

它如何打印 18.0.谁能分析一下。

所以,问题是什么?所有这些 twos 在求和时都转换为最大的类型,然后将结果转换为 double。但是您可以将 2 存储在 long、int、double 和 float 中而不会出现任何错误。这意味着您所要做的就是将这 9 个二进制数相加并得出 18.0.