"Dan sekarang untuk bahagian yang paling menarik. Saya akan memberitahu anda tentang penukaran jenis. Pembolehubah tidak boleh menukar jenisnya, tetapi terdapat tempat di mana anda boleh menukar jenis. Tempat itu ialah operasi tugasan. "

"Anda boleh menetapkan pembolehubah jenis yang berbeza antara satu sama lain. Dengan berbuat demikian, nilai satu pembolehubah (jenis tertentu) ditukar kepada nilai jenis lain dan diberikan kepada pembolehubah lain. "

"Kami boleh menunjukkan dua jenis penukaran: meluaskan penukaran primitif dan menyempitkan penukaran primitif. Meluaskan adalah seperti memindahkan sesuatu daripada bakul kecil kepada bakul besar. Prosedurnya tidak biasa dan tidak menyakitkan. Penyempitan adalah analog dengan mengeluarkan sesuatu daripada bakul besar dan meletakkannya di dalam yang lebih kecil. Apabila anda melakukan ini, anda mungkin tidak mempunyai ruang yang mencukupi; anda mungkin perlu membuang sesuatu. "

"Berikut ialah jenis yang diisih mengikut saiz 'bakul' mereka:"

Jenis penukaran

"Hanya beberapa komen:

1. bakul char mempunyai saiz yang sama dengan bakul pendek, tetapi anda tidak boleh mengalihkan sesuatu dengan bebas dari satu ke yang lain . Apabila anda mengalihkan nilai dari short ke char , nilai yang kurang daripada 0 akan sentiasa hilang. Apabila anda mengalihkan nilai dari char ke short, nilai yang lebih besar daripada 32,000 akan hilang.

2. Apabila anda menukar integer kepada nombor pecahan, digit nombor yang paling tidak ketara boleh dibuang. Walau bagaimanapun, ini boleh diterima, kerana tujuan nombor pecahan adalah untuk menyimpan nilai anggaran."

" Apabila melakukan penyempitan penukaran, kami mesti memberitahu pengkompil secara jelas bahawa kami tidak membuat ralat: kami membuang sebahagian daripada nombor dengan sengaja. Kami menggunakan operator cast ( iaitu nama jenis dalam kurungan ) untuk melakukan ini."

"Ini adalah cara anda harus menetapkan pembolehubah jenis yang berbeza:"

kod Java Penerangan
byte a = 115;
int b = a;
Memperluaskan penukaran primitif. Semuanya hebat.
int c = 10000;
byte d = (byte) c;
Menyempitkan penukaran primitif . Kita mesti menyatakan dengan jelas bahawa bait tambahan harus dibuang.
int c = 10;
byte d = (byte) c;
Menyempitkan penukaran primitif. Kita mesti menyatakan dengan jelas bahawa bait tambahan harus dibuang, walaupun ia sama dengan 0.
float f = 10000;
long l = (long) (f * f);
float f2 = l;
long l2 = (long) f2;
Apabila menetapkan kepada apungan, penukaran primitif yang semakin meluas berlaku. Apabila menetapkan apungan kepada panjang, penukaran primitif yang menyempitkan berlaku. Operator cast diperlukan.
double d = 1;
float f = (float) d;
long l = (long) f;
int i = (int) l;
short s = (short) i;
byte b = (byte) s;
Mengecilkan penukaran dalam semua operasi tugasan kecuali baris pertama. Penukaran ini memerlukan kami menyatakan secara eksplisit jenis penukaran.

" Operator cast mesti diletakkan sebelum nombor/pembolehubah pada bila-bila masa bahagian nombor itu akan dibuang atau apabila penukaran primitif yang mengecil berlaku. Operator cast hanya mempengaruhi nombor/pembolehubah yang mengikutinya secara langsung."

kod Java Penerangan
float f = 10000;
long l = (long) f * f;
Hanya satu daripada dua pembolehubah dibuang ke panjang: pendaraban panjang dan apungan sama dengan apungan.
float f = 10000;
long l = (long) (f * f);
Seluruh ungkapan dilemparkan ke panjang.

"Saya faham."