Mentafsir Huruf Integer dengan Sifar Utama
Di Java, literal integer dengan sifar pendahuluan ditafsirkan sebagai nombor perlapanan (asas-8). Tingkah laku ini boleh membingungkan, terutamanya jika dibandingkan dengan literal perpuluhan (asas-10).
Pertimbangkan kod berikut:
System.out.println(0123); // Prints 83 System.out.println(123); // Prints 123
Penjelasan:
(1 * 8 * 8) + (2 * 8) + (3) = 83
Oleh itu, 0123 ditafsirkan sebagai 83 dalam perpuluhan.
Mengelakkan Tafsiran Oktal:
Untuk mengelakkan tafsiran oktal yang tidak dijangka, cuma tinggalkan sifar pendahuluan daripada literal integer yang tidak bertujuan untuk mewakili nombor perlapanan.
Heksadesimal Literal:
Java juga menyokong literal heksadesimal (asas-16), yang diawali dengan 0x. Contohnya:
System.out.println(0x123); // Prints 291
Dalam kes ini, 0x123 mewakili nilai perenambelasan 123, yang bersamaan dengan 291 dalam perpuluhan.
Atas ialah kandungan terperinci Mengapa Java Mentafsir Huruf Integer dengan Sifar Utama sebagai Oktal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!