Operatör | Sembolü | Kullanılışı | İşlem Sonucu |
---|---|---|---|
Atama | = | x = y | y’nin değerini x’e ata |
Topla-ata | + = | x + = y | x + y’nin değerini x’e ata |
Çıkar-ata | – = | x – = y | x – y’nin değerini x’e ata |
Çarp-ata | * = | x * = y | x * y’nin değerini x’e ata |
Böl-ata | / = | x / = y | x / y’nin değerini x’e ata |
Kalanını ata | % = | x % = y | x % y’nin değerini x’e ata |
Tablodan kolayca anlayacağımız üzere, x + = y ifadesi x = x + y ifadesine, x % = y ifadesi de x = x % y ifadesine denktir.
= operatörünün atama amacı ile kullanıldığını biliyoruz. Sembolün sol tarafındaki operand bir sol taraf operandı (left hand operand, Lvalue) olmalıdır.
Sol taraftaki operand (değişken, dizi elemanı, yapı elemanı vb.) sağ taraftaki operandın değerini bellekte saklar.
ÖRNEK:
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.
ATAMA OPERATÖRLERİ: ÖRNEK PROGRAM
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);
}
}
ÖRNEK PROGRAMIN ÇIKTISI
ÖRNEK PROGRAM: CAST İFADESİNİN KULLANIMI
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);
}
}
CAST İFADESİNİ KULLANAN ÖRNEK PROGRAMIN ÇIKTISI: