Fitur ini membagi angka literal biner atau numerik yang panjang seperti nomor KTP, kartu kredit, kartu ATM dan sebagainya menjadi kelompok-kelompok angka agar mudah dibaca. Underscore di literal biner atau numerik akan dibuang ketika kode program dikompilasi. Ada beberapa batasan yang perlu diperhatikan dimana underscore tidak boleh diletakkan yaitu:
- Dipermulaan dan diakhir angka.
- Berdekatan dengan titik desimal dari literal numerik floating-point.
- Sebelum akhiran L atau l dan F atau f untuk nilai numerik tipe long dan float.
- Sesudah awalan 0b atau 0B untuk literal biner.
- Posisi dimana string angka diharapkan.
Baca artikel:
Berikut ini adalah beberapa pernyataan yang membolehkan dan yang tidak terkait letak underscore di literal numerik dan biner Java.
int varC = 0b1000_0000; // Sama dengan 0b1000000. byte x = 1_23; // Sama dengan 123. int y = 3___49__6_2; // Sama dengan 34962. float pi = 3.14_15_9F; // Sama dengan 3.14159. byte x1 = _123; // Tidak boleh di awal literal numerik. int y1 = 34962_ ; // Tidak boleh di akhir literal numerik. float pi1 = 3._14159; // Tidak boleh berdekatan dengan titik desimal. long q = 2127462549_L; // Tidak boleh sebelum akhiran L. int z = 0x_55; // Tidak boleh berdekatan awalan 0x di literal heksadesimal.
Contoh program Java di bawah ini terkait penggunaan underscore di literal biner dan numerik. Berikut ini adalah kode program dan hasil eksekusinya di Command Prompt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | // Nama file : BinaryUnderscore.java // Menggunakan literal biner dan karakter garis bawah // Deklarasi kelas public class BinaryUnderscore { // Metoda main() public static void main(String[] args) { int a = 0B0_0_1_0; int a2 = 0b1000_0000; byte b = 1_2_3; long b2 = 2_127__462___549L; int b3 = 0x5_5; long x = a * b; int y = a2 * b; long z = b2 + b3; // Menampilkan hasil System.out.println(); System.out.println("Nilai a = " + a); System.out.println("Nilai a2 = " + a2); System.out.println("Nilai b = " + b); System.out.println("Nilai b2 = " + b2); System.out.println("Nilai b3 = " + b3); System.out.println("Nilai x = " + x); System.out.println("Nilai y = " + y); System.out.println("Nilai z = " + z); } } |