:::: MENU ::::
cannot convert from double to int

Java hassasiyetin kaybolmasına izin vermez

Örneğin:

int k;
double l;
l = k = 13.72;

Yukardaki komutlar ile (=) sembolünün birleşme özelliği sağdan sola olduğu için,

( l = (k = 13.72));

sırasıyla atamalar yapılacaktır. Java hassasiyetin kaybolmasına izin vermeyeceği için k=13.72 atamasında,

“possible loss of precision” veya Eclipse’te “cannot convert from double to int”

şeklinde bir hata mesajı verilecektir. Java’da sadece programcının açıkça cast ifadeleri ile,

(int) 13.72

gibi, hassasiyetin kaybolmasına özellikle izin verdiğini belirtmesi halinde bu tür atamalar yapılır.

public class Uyg10{
public static void main(String[ ] args){
int k;
double l;
l = k =13.72;
System.out.println("l="+l);
System.out.println("k="+k);
}
}

uyg10

public class Uyg10{
public static void main(String[ ] args){
int k;
double l;
l = k =(int)13.72;
System.out.println("l="+l);
System.out.println("k="+k);
}
}

uyg10_dogru

Kaynak: https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/aritmetiksel-atama-operatorleri