"Merhaba, Amigo!"

"Merhaba Ellie!"

"Bugün keyfim yerinde, bu yüzden sana ilginç bir şey söylemek istiyorum. Java'nın yazı sisteminin ilkel tiplerle nasıl başa çıktığıyla başlayacağım."

" Java'da, her nesne ve her değişkenin kendi değiştirilemez önceden ayarlanmış türü vardır. İlkel bir değişkenin türü, program derlendiğinde belirlenir, ancak bir nesnenin türü, oluşturulduğunda belirlenir. Yeni oluşturulan bir nesnenin ve/veya değişkenin türü kullanım ömrü boyunca değişmeden kalır. İşte bir örnek:"

java kodu Tanım
int a = 11;
int b = 5;
int c = a / b; // c == 2
a / b– tamsayı bölümünü temsil eder. Cevap ikidir. Bölme işleminden kalan kısım basitçe göz ardı edilir.
int a = 13;
int b = 5;
int d = a % b; // d == 3
daile tamsayı bölümünün kalanını depolar b. Kalan 3'tür.

"Hatırlamanız gereken birkaç ilginç nüans var."

"Birincisi, bir referans değişkeni her zaman kendisiyle aynı türde bir değere işaret etmez."

"İkincisi, iki farklı türdeki değişkenler etkileşime girdiğinde, önce aynı türe dönüştürülmeleri gerekir."

"Peki ya bölme? 1'i 3'e bölersek 0,333(3) elde ederiz. Değil mi?"

"Hayır, bu doğru değil. İki tam sayıyı böldüğümüzde sonuç da bir tam sayıdır. 5'i 3'e bölerseniz cevap 1 olur, kalan iki olur. Kalan yok sayılır."

"1'i 3'e bölersek, 0 elde ederiz (hatırlatma 1 ile birlikte dikkate alınmaz).

"Ama 0,333 almak istersem ne yapmalıyım?"

"Java'da, bölme işlemini gerçekleştirmeden önce, bir sayıyı kayan noktalı bir sayı (1.0) ile çarparak bir sayıyı kayan noktalı (kesirli) bir türe dönüştürmek en iyisidir."

java kodu Tanım
int a = 1/3;
a0 olacak
double d = 1/3;
 d 0.0 olacak
double d = 1.0 / 3;
d0,333(3) olacak
double d = 1 / 3.0;
d0,333(3) olacak
int a = 5, b = 7;
double d = (a * 1.0) / b;
d0,7142857142857143 olacak

"Anladım."