Java中三种进制的数值常量

package cn.nxl2018;
class Test{
      //十进制常量赋值
      void decimals(){
        byte b=10;
        short s=10;
        char ch=69;
        int i=10;
        long l=10l;//l/L可加可不加
        float f=10.1f;//float f=10,可以不加f将10默认转换为float类型,输出10.0。但当是小数时必须加f。
        float f2=10.2e3f;//可以用指数形式来表示
        double d=10.1;//小数常量默认为double类型
        double d1=10.01d;//d是可以省略的
    }
    //八进制常量赋值
       void octa(){
        byte b=03;
        short s=03;
        char ch=076;
        int i=03;
        long l=03;
        float f=03.1f;//非八进制数,等价于3.1f
        double d=03.1d;//非非八进制数,等价于3.1d
        //也就是说浮点数不能表示八进制数
    }
    //十六进制常量赋值
    static void hex(){
        byte b=0x12;
        short s=0x12;
        char ch=0x78;
        int i=0x12;
        long l=0x12;
        float f=0x1.2p2f;//十六进制用p表示指数,不是e;另外十六 进制浮点数必须以指数形式表示
        double d=0x1.2p2d;
        //java中没有提供二进制常量表示形式
        //如果给变量赋值为负数的时候,十进制的话直接加负号,十六进制直接在最高位设置为1
    }
}

猜你喜欢

转载自blog.csdn.net/m0_38022608/article/details/80234633