Rumah > Java > javaTutorial > Mengapa Menambah Dua Aksara Java Menghasilkan Integer, Bukan Char?

Mengapa Menambah Dua Aksara Java Menghasilkan Integer, Bukan Char?

DDD
Lepaskan: 2024-12-08 04:14:10
asal
358 orang telah melayarinya

Why Does Adding Two Java Chars Result in an Integer, Not a Char?

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를 출력
Salin selepas log masuk

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를 출력하고 컴파일 오류가 발생하지 않음
Salin selepas log masuk

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를 출력
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan