Sıfırdan Java programlama dersleri serisine  “ Java Programlama Dersleri, Operatörler” konusu ile devam ediyoruz.

Java’ da farklı kategorilerde çok fazla operatör bulunmaktadır. Bunları sizlere bir tablo halinde verdikten sonra farklı başlıklar halinde ayrı ayrı inceleyeceğiz. Tabloda öncelik sırası yukarıdan aşağı doğrudur.

Java Programlama Dersleri Öncelik Sırasına göre Operatörler

Bundan önceki “Java Programlama Dersleri, Tip Dönüşümleri” dersimizde Eclipse IDE ortamını kullanmıştık. Bu dersimizde NetBeans IDE ortamı kullanılacaktır.

Aritmetik Operatörler

 

Aritmetik operatörler bizim Matematikte kullandığımız standart + (toplama), – (çıkarma), x(çarpma) , / (bölme)  ve % (mod alma) operatörleridir. Matematikteki işlem önceliği kavramı aynı şekilde Javada da bulunur. Çarpma ve bölme işlemleri toplama ve çıkarma işlemlerine göre önceliklidir.

Şimdi bu operatörleri bir uygulama üzerinde görelim. Kodlarımız aşağıdaki gibidir :

Uygulamamızın ekran görüntüsü aşağıdaki gibidir :

Java Programlama Dersleri Aritmetik Operatörler

Uygulamamızı açıklayalım. int tipinde isayi1, isayi2 şeklinde ilk değerleri olmayan iki değişken tanımladık. Sonrasında double tipinde dsayi3 ve int tipinde isayi4 ve isayi5 değişkenlerini tanımladık. isayi4 değişkenine 567 değerini isayi5 değişkenine 42 değerlerini atadık.

kodu ile isayi1 değişkenine 245 ve 748 değerlerinin toplamı atandı.

kodunda ise derleyici isayi4 gördüğü yere yukarıda verilen 567 değerini koyacak ve isayi2 değişkenine 1200-567 değerini atayacaktır.

double tipindeki dsayi3 değişkenine ilk değer ataması yapmamıştık.

koduyla isayi1 ve isayi2 değişkenleri integer tipi değişkenlerden olduğundan derleyici isayi1/isayi2 değerlerini birbirine bölecek ve sonuç olarak integer bir değer üretecektir. Bu üretilen int değeri ki bu 1 dir, bu değeri double’a çevirerek 1.0 olarak dsayi3 değişkenine atayacaktır.

Ancak bizim programımızdaki kodumuza bakarsanız (double) ifadesini kullandık. Bu ifade her şeyi değiştirir.

kodu ile derleyici isayi1’i double değişkene dönüştürdükten sonra bölmeyi yapacağından sonucumuz ondalıklı bir sayı olacaktır. (double) ifadesini iki int değişkenden herhangi birinin önüne koyabileceğimiz gibi sadece birinin önüne koymamız da yeterlidir.

Son olarak sayi değişkenlerinin değerlerini ekrana yazdırdık. isayi5 / 4 ifadesini gören derleyici, isayi5 yerine değerini yazacak ve 4’e böldükten sonra çıkan sonucu ekrana yazacaktır. Programımızın çıktısı aşağıdaki gibidir :

Java Programlama Dersleri Aritmetik Operatörler 2

Şimdi de mod alma operatörü % hakkında konuşalım. Mod alma kavramını Matematik dersinden bir aşinalığınız vardır. Bir sayının belirtilen sayıya göre modu o sayının diğer sayıya bölümünden kalandır. Örneklerle açıklayalım.

Mesela 25 sayısının mod 3 ü alındığından sonuç ne olur ? (25%3 ifadesinin değeri nedir) Yani 25 sayısını 3 böldüğünüzde kalan nedir? demektir. Basit bir kodla sonucu görelim :

Sonuç :

Görüldüğü gibi 25 sayısının 3 e bölümünden kalan 1 dir. Peki sayımız integer değilde virgüllü bir sayı olsaydı ne olurdu? bakıp görelim:

Sayımız virgüllü olduğundan sonuçta o şekildedir:

Atama Operatörleri

 

Atama Operatörlerini 2 ayrı şekilde inceleyeceğiz :

  • Atama Operatörleri
  • Birleşik Atama Operatörleri

Java’da “=” operatörünün atama operatörü olduğundan bahsetmiştik. Değişkenlere değer vermek (atamak) için kullanılır. Eşitliğin sağ tarafındaki değeri sol tarafındaki değişkene atar. Kullanımını görmek için ufak bir kod uygulaması yapalım.

Kodumuzu inceleyelim. int tipinde sayi1, sayi2, sayi3 ve sayi4 isimlerinde 4 değişken tanımladık. (declared) Bu değişkenlerden sayi1 ve sayi4 değişkenlerine ilk değer ataması yaptık. (9 ve 567) Aynı türdeki değişkenlerin tanımlamasını alt alta yapabileceğimiz gibi tek satırda yapabiliriz.

Sonrasında

kodu ile 876 değerini sayi2, sayi3 ve sayi4 değişkenlerine atadık. Bunu 3 ayrı satırda da yapabilirdik. (Yorum satırında gösterdik, nasıl yapıldığını) Bir değişkene program boyunca birden fazla değer ataması yapabilirsiniz.

Son olarak oluşturduğumuz değişkenlerin değerini ekrana yazdırdık. Çıktımız aşağıdaki gibidir :

Atama operatörümüzün kullanımı bu kadardır. Birleşik atama operatörlerinin durumu ise daha farklıdır. Uygulamasını bir kod üzerinde görelim :

Kodumuzu incelediğimizde birleşik atama operatörleri olarak ifade ettiğimiz durumun iki operatörün birleşmesi olduğunu fark etmişsinizdir. +=, -= ,*=, %= gibi.

İlk olarak int tipinde sayi adında bir değişken tanımlayarak içerisine 10 değerini atadık ve değerini ekrana yazdırdık.

sayi += 15; ifadesi sayi = sayi +15 ;  demektir. Bu durumda derleyici eşitliğin sağ tarafında bulunan sayi değişkenine öncesinde verilen 10 değerini verecek ve 10+15 ‘den sayi değişkeninin yeni değeri 25 olacaktır. Bu değeri de ekrana yazdırdık.

sayi -=5; ifadesini gören derleyici yeni değeri 25 olan sayi değişkenini sayi = sayi-5; ifadesi anlamına gelen ifade de yerine koyacaktır. 25-5’den sayi değişkenimizin yeni değeri 20 olacaktır.

Aynı şekilde çarpma işlemi için *=, bölme işlemi için /= ve mod alma için %= operatörlerini kullanabiliriz. Programımızın çıktısı aşağıdaki gibidir :

Artırma Eksiltme Operatörleri

 

Artırma ve eksiltme operatörleri, programlarımızda değişkenlerin değerlerinin, birer birer artırılması ve eksiltilmesi durumlarında kullanılır. Yani sayi = ++sayi ; şeklindeki bir ifade aslında sayi =  sayi+1; demektir. Bu operatörler değişkenin önünde ve arkasında olacak şekilde kullanılır. Uygulaması yapalım :

Kodumuzu inceleyelim. ++ operatörü yanındaki değişkenin değerini 1 artırırken, — operatörü ise yanındaki değişkenin değerini 1 azaltır. Bu operatörler en öncelikli operatörlerdir. Bunları unutmayalım. sayi1 in ilk değerinin 10 olduğunu görüyoruz.

Bu kod ile ilk olarak sayi1 değerinin üzerine 1 eklenmiş ve sonrasında sayi1 değişkenine atanmıştır. Yani bu durumda sayi1 değişkenimizin yeni değeri 11 olacaktır.

++ operatörü değişkenin önünde bulunursa ilk olarak artırma işlemi yapılır sonra atama işlemi yapılır. Bu operatör değişkenin arkasında bulunursa ilk olarak atama işlemi yapılır sonra değişkenin değeri bir artırılır. Uygulamamıza  dönelim.

kodu ile ilk olarak sayi2 değeri sayi3 e atanmıştır. Bu durumda sayi3’ün değeri 100 olmuştur. Sonrasında sayi2++ ifadesinden dolayı sayi2’nin değeri bir artırılıp 101 olmuştur. ++ operatörü için söylediğimiz her şey — operatörü içinde geçerlidir.

ifadesi ile ilk olarak sayi1 in değeri bir azaltılmış ve sonra sayi4 ‘e atanmıştır. Bu durumda sayi1 in önceki değeri 11 idi ve 1 azaltıldığında değeri 10 olacaktır ve bu değer sayi4’e atanacaktır.

ifadesinde ise ilk olarak sayi2 değeri sayi3’e atanacaktır sonrasında sayi2 değeri bir azaltılacaktır. Uygulamamızın sonucu aşağıdaki gibidir :

İlişkisel Operatörler

 

İlişkisel operatörler, sayılar arası karşılaştırma yapan operatörlerdir. Büyüktür ( > ) , küçüktür ( < ) , büyük eşit ( >= ) ve küçük eşit ( <= ) şeklindedir. Böyle bir karşılaştırma söz konusu olduğunda elbette sonuç ya doğrudur ya yanlıştır. Dolayısıyla bu gibi karşılaştırma işlemlerinde boolean türünü sıklıkla kullanırız.

Uygulamasını görelim. Kodumuz aşağıdaki gibidir :

Kodumuzu inceleyelim. int tipinde sayi1, sayi2, sayi3 adında 3 tane değişken tanımladık. sayi1’e 56 ve sayi2 değişkenine 12 değerlerini atadık. boolean tipinde sonuc isminde bir değişken daha tanımladık ve değerini false yaptık.

kodu sayi1, sayi2’den büyük eşit midir diye soruyor. yani değerleri yerine koyarsak 56 >=12 midir evet doğrudur. Bu durumda sonuc değişkenine true değeri atanır. Ekrana sonucu yazdırdık.

sayi3 = sayi2 +56; ifadesi ile sayi3 değişkenine değer ataması yaptık. sayi2 değeri 12 olduğundan sayi3 değeri 12+56 olacaktır.

kodu ise sayi3 değeri sayi1 den küçük müdür diye soruyor. Değişkenlerin değerlerini yerine koyarsak 68 < 56 ifadesi doğru mudur ? Hayır değildir, bu sebeple sonuc değişkeninin değeri false olmuştur. Ekrana değerini yazdırıyoruz. Bu durumda çıktımız aşağıdaki gibidir :

İlerleyen derslerimizde operatörleri ayrıntılı bir şekilde değineceğimiz için bu dersimizi burada noktalıyoruz. Umarım faydalı olmuştur. Sorularınızı aşağıdaki yorum panelini kullanarak bizlerle paylaşabilirsiniz.

 

 

Pin It on Pinterest

Daha fazla Java
Java Programlama Dersleri, Tip Dönüşümleri, Veri Kaybı
Java Programlama Dersleri, Tip Dönüşümleri

Sıfırdan Java programlama dersleri serisinde bu dersimizde “ Java Programlama Dersleri, Tip Dönüşümleri ” konusuna değineceğiz. Java'da değişken nedir, veri...

Kapat