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

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: