"Hai, Amigo!"

"Hai, Elli!"

"Saya sedang dalam suasana hati yang baik hari ini, jadi saya merasa ingin memberi tahu Anda sesuatu yang menarik. Saya akan mulai dengan bagaimana sistem tipe Java berurusan dengan tipe primitif."

" Di Java, setiap objek dan setiap variabel memiliki tipe preset yang tidak dapat diubah. Tipe variabel primitif ditentukan saat program dikompilasi, tetapi tipe objek ditentukan saat dibuat. Tipe objek dan/atau variabel yang baru dibuat tetap tidak berubah selama masa pakainya. Berikut ini contohnya:"

kode jawa Keterangan
int a = 11;
int b = 5;
int c = a / b; // c == 2
a / b– mewakili pembagian bilangan bulat. Jawabannya adalah dua. Sisa dari operasi pembagian diabaikan begitu saja.
int a = 13;
int b = 5;
int d = a % b; // d == 3
dakan menyimpan sisa pembagian bilangan bulat aoleh b. Sisanya adalah 3.

"Ada beberapa nuansa menarik yang perlu Anda ingat."

"Pertama, variabel referensi tidak selalu menunjuk ke nilai yang memiliki tipe yang sama dengan yang dimilikinya."

"Kedua, ketika variabel dengan dua tipe berbeda berinteraksi, mereka harus diubah terlebih dahulu menjadi tipe yang sama."

"Bagaimana dengan pembagian? Jika kita membagi 1 dengan 3, kita akan mendapatkan 0,333(3). Benar kan?"

"Tidak, itu tidak benar. Ketika kita membagi dua bilangan bulat, hasilnya juga bilangan bulat. Jika Anda membagi 5 dengan 3, jawabannya adalah 1 dengan dua sebagai sisanya. Dan sisanya akan diabaikan."

"Jika kita membagi 1 dengan 3, kita akan mendapatkan 0 (dengan pengingat 1, yang akan diabaikan)."

"Tapi apa yang harus saya lakukan jika saya ingin mendapatkan 0,333?"

"Di Jawa, sebelum melakukan pembagian, yang terbaik adalah mengonversi angka menjadi tipe titik-mengambang (pecahan) dengan mengalikannya dengan angka titik-mengambang satu (1.0)."

kode jawa Keterangan
int a = 1/3;
aakan menjadi 0
double d = 1/3;
 d akan menjadi 0,0
double d = 1.0 / 3;
dakan menjadi 0,333(3)
double d = 1 / 3.0;
dakan menjadi 0,333(3)
int a = 5, b = 7;
double d = (a * 1.0) / b;
dakan menjadi 0,7142857142857143

"Mengerti."