相关疑难解决方法(0)

java中基本类型的转换规则

在java中,

有整数类型(char/ short/ int/ long/ byte)

有浮动类型(float/ double)

boolean与C语言不同,有布尔类型(),而不是整数类型.

问题1)

是否有一个通用规则用于转换(根据JLS)会话,哪种类型可以转换为另一种类型?出于常识,我知道,boolean不允许使用积分和浮动类型

问题2)

请帮我理解以下输出的原因:

        /*
         * Casting rules for primitive types
         */
        double aDoubleValue = 30000000000000000000.123438934;
        int doubleToInt = (int)aDoubleValue; //stores max value 2147483647, makes sense!!
        byte doubleToByte = (byte)aDoubleValue; //stores -1, why not 127?
        short doubleToShort = (short)aDoubleValue; // stores -1, why not 32767?
        long doubleToLong = (long)aDoubleValue; // stores 9223372036854775807, makes sense!!
        float doubleToFloat = (float)aDoubleValue; // …
Run Code Online (Sandbox Code Playgroud)

java casting

14
推荐指数
1
解决办法
2万
查看次数

标签 统计

casting ×1

java ×1