Penukaran Jenis Angka dalam Penambahan Aksara Java
Apabila menambah dua aksara Java, seperti 'a' 'b', penukaran jenis angka berlaku. Tidak seperti kebanyakan bahasa pengaturcaraan lain, penambahan ini tidak menghasilkan output char.
Result Datatype
Mengikut Spesifikasi Bahasa Java, hasil daripada penambahan aksara, shorts , atau bait ialah int. Tingkah laku ini dikaitkan dengan peraturan promosi angka binari Java, yang menyatakan bahawa kedua-dua operan ditukar kepada taip int apabila melakukan operasi aritmetik binari.
Contoh
Pertimbangkan perkara berikut contoh:
char x = 'a' + 'b'; // 결과는 int System.out.println(x); // 195를 출력
Pengecualian
Walau bagaimanapun, peraturan ini mempunyai pengecualian untuk pengendali tugasan kompaun seperti =. Contohnya:
char x = 1, y = 2; x += y; // 합법적이며 결과는 char System.out.println(x); // 195를 출력하고 컴파일 오류가 발생하지 않음
Dalam kes ini, hasil penambahan (int) secara eksplisit dibuang semula ke char menggunakan operator penugasan kompaun.
Menentukan Jenis Keputusan
Untuk menentukan jenis hasil secara umum, seseorang boleh menghantarnya ke Objek dan menanyakannya kelas:
System.out.println(((Object)('a' + 'b')).getClass()); // class java.lang.Integer를 출력
Pertimbangan Prestasi
Perhatikan bahawa kod bait Java tidak mempunyai arahan khusus untuk aritmetik dengan jenis data yang lebih kecil. Sebaliknya, ia menggunakan arahan berasaskan int (cth., iadd) dan mensifarkan bait atas secara manual jika perlu.
Penggabungan Rentetan
Jika niatnya adalah untuk menggabungkan aksara sebagai String, bukan mentafsirnya secara berangka, gunakan String kosong dalam ungkapan, sebagai menambah aksara dan String menghasilkan Rentetan.
Atas ialah kandungan terperinci Mengapa Menambah Dua Aksara Java Menghasilkan Integer, Bukan Char?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!