double num = 5;
Bu oyuncu kadrosundan kaçınır. Ancak, dönüşüm dönüşümlerinin iyi tanımlanmış olduğunu göreceksiniz. Tahmin etmek zorunda değilsiniz, sadece JLS'yi kontrol edin . int to double, genişleyen bir dönüşümdür. Gönderen §5.1.2 :
İlkel dönüşümleri genişletmek, sayısal bir değerin toplam büyüklüğü hakkında bilgi kaybetmez.
[...]
Bir int değerinin veya uzun bir değerin kayan değere veya uzun bir değerin ikiye çevrilmesi, hassasiyet kaybına neden olabilir; sonuç, değerin en az önemli bitlerinden bazılarını kaybedebilir. Bu durumda, sonuçta elde edilen kayan nokta değeri, IEEE 754 en yakın yuvarlak mod (§4.2.4) kullanılarak tamsayı değerinin doğru yuvarlatılmış bir versiyonu olacaktır .
5 tam olarak bir çift olarak ifade edilebilir.