"Halo, Amigo!"

"Halo, Ellie!"

"Aku ing swasana ati apik dina, supaya aku arep ngomong bab menarik. Aku bakal miwiti karo carane sistem jinis Jawa menehi hasil karo jinis primitif."

" Ing Jawa, saben obyek lan saben variabel nduweni jinis prasetel dhewe sing ora bisa diganti. Jinis variabel primitif ditemtokake nalika program dikompilasi, nanging jinis obyek ditemtokake nalika digawe. Jinis obyek lan/utawa variabel sing mentas digawe. tetep ora owah sajrone umure. Iki contone:"

kode Jawa Katrangan
int a = 11;
int b = 5;
int c = a / b; // c == 2
a / b– nggantosi divisi integer. Wangsulane loro. Sisa saka operasi divisi mung diabaikan.
int a = 13;
int b = 5;
int d = a % b; // d == 3
dbakal nyimpen sisa saka divisi integer saka adening b. Sisane 3.

"Ana sawetara nuansa menarik sing kudu sampeyan eling."

"Kaping pisanan, variabel referensi ora tansah nuduhake nilai sing nduweni jinis sing padha."

"Kapindho, nalika variabel karo rong jinis beda interaksi, padha kudu diowahi dadi jinis padha."

"Apa bab divisi? Yen kita dibagi 1 karo 3, kita bakal entuk 0,333 (3). Ya?"

"Ora, iku ora bener. Nalika kita dibagi loro wilangan bulat, asil uga integer. Yen dibagi 5 karo 3, jawaban bakal 1 karo loro minangka seko. Lan seko bakal digatèkaké."

"Yen kita dibagi 1 karo 3, kita bakal entuk 0 (kanthi pangeling 1, sing bakal diabaikan)."

"Nanging apa sing kudu dak lakoni yen aku pengin entuk 0,333?"

"Ing Jawa, sadurunge nindakake divisi, luwih becik ngowahi angka dadi tipe floating-point (fractional) kanthi dikalikan karo floating-point nomer siji (1.0)."

kode Jawa Katrangan
int a = 1/3;
abakal 0
double d = 1/3;
 d bakal 0.0
double d = 1.0 / 3;
dbakal dadi 0.333(3)
double d = 1 / 3.0;
dbakal dadi 0.333(3)
int a = 5, b = 7;
double d = (a * 1.0) / b;
dyaiku 0.7142857142857143

"Ngerti."