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。如有錯誤或未考慮完全的地方,望不吝賜教。