ใน Java SE 7 มีการเพิ่มการเป็นตัวแทนตามตัวอักษรในรูปแบบไบนารี คุณสามารถใช้ตัวอักษรไบนารีเพื่อแสดงค่าตัวเลขเช่นในทศนิยม
ตัวอย่างเช่น:
// An 8-bit byte value: byte aByte = 0b100001;// A 16-bit short value: short aShort = 0b10100101001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101;// A ค่ายาว 64 บิต (หมายเหตุคำต่อท้าย "l" ที่ท้าย) ยาวไปตาม = 0B1010L; // ค่าตัวอักษรไบนารีเริ่มต้นด้วย 0B หรือ 0B และเป็นตัวพิมพ์ใหญ่ int anint2 = 0B101;
ใน Java SE 7 การเป็นตัวแทนเชิงตัวเลขของขีดเส้นใต้เป็นตัวคั่นได้รับการสนับสนุนเช่นกัน:
// รูปแบบทศนิยม int anint1 = 123_45_6; // binary, hexadecimal ฯลฯ ยังรองรับ int anint2 = 0B10_0110_100; int anint3 = 0xff_ec_de_5e; // แบบฟอร์มทศนิยมยังรองรับ float pi = 3.14_15f; double adouble = 3.14_15; // ขีดเส้นใต้หลายตัวเชื่อมต่อ int chain = 5______2____0;
อย่างไรก็ตามแบบฟอร์มการเขียนต่อไปนี้ไม่ถูกต้อง:
// ขีดล่างไม่สามารถวางไว้ที่ส่วนท้าย int x = 52_; // ข้อผิดพลาด // ขีดล่างไม่สามารถอยู่ติดกับจุดทศนิยม (ไม่ก่อนหรือหลังจุดทศนิยมอยู่ติดกับจุดทศนิยม) ลอย pi1 = 3_.1415f; // ข้อผิดพลาด float pi2 = 3._1415f; // ข้อผิดพลาด // ขีดล่างไม่สามารถวางไว้ที่ด้านหน้าของคำต่อท้าย "l" หรือ "f" float pi3 = 3.1415_f; // ข้อผิดพลาดยาวไปตาม 1 = 999_9999_L; // ข้อผิดพลาด // ไม่สามารถวางขีดล่างระหว่างอักขระคำนำหน้าแทน cardinal int x5 = 0_x52; //ข้อผิดพลาด
นอกจากนี้คุณควรให้ความสนใจกับสถานการณ์ต่อไปนี้ซึ่งมีการเน้นย้ำไว้ที่ด้านหน้า:
int _52 = 120; // ใน Java ชื่อตัวแปรไม่สามารถเริ่มต้นด้วยตัวเลขได้ แต่สามารถเริ่มต้นด้วยขีดล่าง int x = _52; // ดังนั้น _52 ที่นี่ไม่ใช่รูปแบบที่แท้จริงของตัวเลข แต่เป็นตัวระบุตัวแปร (ชื่อตัวแปร)