Dalam Java SE 7, representasi literal dalam bentuk biner telah ditambahkan. Anda dapat dengan mudah menggunakan literal biner untuk mewakili nilai -nilai numerik seperti di desimal.
Misalnya:
// An 8-bit byte value: byte aByte = 0b100001;// A 16-bit short value: short aShort = 0b10100101001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101;// A Nilai panjang 64-bit (perhatikan akhiran "l" di akhir) panjang bersama = 0b1010l; // nilai literal biner dimulai dengan 0b atau 0b dan inters case-sensitive int anint2 = 0b101;
Dalam Java SE 7, representasi numerik dari garis bawah karena pembatas juga didukung:
// bentuk desimal int anint1 = 123_45_6; // biner, hexadecimal, dll. Juga mendukung int anint2 = 0b10_0110_100; int anint3 = 0xff_ec_de_5e; // Formulir desimal juga mendukung float pi = 3.14_15f; Double Adouble = 3.14_15; // Beberapa garis bawah adalah rantai int terhubung = 5______2____0;
Namun, formulir penulisan berikut salah:
// Underscore tidak dapat ditempatkan di ujung int x = 52_; // Kesalahan // Underscore tidak dapat berdekatan dengan titik desimal (baik sebelum atau setelah titik desimal berdekatan dengan titik desimal) float pi1 = 3_.1415f; // kesalahan float pi2 = 3._1415f; // Kesalahan // Underscore tidak dapat ditempatkan di bagian depan akhiran "l" atau "f" float pi3 = 3.1415_f; // Kesalahan Long1 = 999_9999_l; // Kesalahan // Underscore tidak dapat ditempatkan di antara karakter awalan yang mewakili kardinal int x5 = 0_x52; //Kesalahan
Selain itu, Anda juga harus memperhatikan situasi berikut di mana garis bawah ditempatkan di depan:
int _52 = 120; // Di Java, nama variabel tidak dapat dimulai dengan angka, tetapi dapat dimulai dengan garis bawah int x = _52; // Jadi, _52 di sini bukan bentuk literal dari angka, tetapi pengidentifikasi variabel (nama variabel)