青衣 发表于 2021-8-16 18:15:06

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
}
}
补充:Java整数常量进制表示
Java针对整数常量提供了4种表现形式
二进制(0 1),以0b开头,如:0b10000表示16
八进制(0 ~ 7),以 0 开头,如:020表示16
十进制(0 ~ 9),就是我们生活中使用的,如:16就表示16
十六进制(0 ~ 9 , a ~ f),以0x开头,如:0x10表示16
以上为个人经验,希望能给大家一个参考,也希望大家多多支持CodeAE代码之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/m0_38022608/article/details/80234633

文档来源:服务器之家http://www.zzvips.com/article/182985.html
页: [1]
查看完整版本: Java 三种进制的数值常量操作