Merhaba arkadaşlar bu yazımda Java programlama dilinde kullanılan operatörleri anlatmaya çalışacagım.

Operatör bütün programlama dillerinde bulunan ve programlar da kullanılan degişkenler ve nesnelerin
degerleri üzerinde çeşitli degişiklikler yapabilmek için kullanılan
elemanlardır.Yapacagımız işlem operatörle gerçekleşiyorsa  “en hızlı ve verimli” ancak bu şekilde yapılır diyebiliriz.

NOT : Yapacagımız işlemler yalnızca bir operatör ile
gerçekleşmiyorsa ya bir grup operatörün biraraya getirilmesiyle ya da o
işlemi gerçekleştirecek method yazılmasıyla işlemi gerçekleştiririz.

Javada’ki operatörleri yaptıkları işe göre aşagıda ki gibi sınıflandırabiliriz ;

  1. Atama operatörü(=)
  2. Aritmetik operatörler(+ , – , * , / , %)
  3. Aritmetik artırma ve eksiltme operatörleri(++ , –)
  4. Aritmetik atama operatörleri(+=  ,-= , *- , /= , %=)
  5. İlişkisel operatörler(< , > , >=  ,<=  , == , !=)
  6. Mantıksal operatörler(AND,OR,XOR,NOT)
  7. Bit tabanlı(Bitwise) operatörler(& , | , ^ , ~ , << , >>)
  8. ?:   operatörü

Operatörler üzerinde işlem yaptıkları degişken/sabit sayısına göre
bir adet degişkene ihtiyaç duyan operatörlere tekli operatör(unary
operator), iki adet degişkene ihtiyaç duyan operatörlere ikili
operatör(binary  operator) ve üç adet degişkene ihtiyaç duyan
operatörlere(?:) üçlü operatör denilir.

1.Atama Operatörü(=)

Bu operatör degişkene deger atamamıza yarayan operatördür.

int sayi = 32 ;
int sayi1 = sayı ;
String ifade = “Mustafa” ;

2.Aritmetik operatörler(+ , – , * , / , %)

Bu operatörler kesirli ve tam sayılar için işlemler yapan operatörlerdir.

NOT : + ve – operatörü aynı zamanda sayısal tipde ki verileri karakter tipe çevirir.Örnegin ;

int a = 5;
System.out.println(a+”7″);

a.)Toplama Operatörü(+) : Sagında ve solunda bulunan 2 degişkeni toplar.

int sayi = 5+7 ;

b.)Çıkartma Operatörü(-) : Sagında ve solunda bulunan 2 degişkenin farkını hesaplar

int sayi = 15-7 ;

c.)Çarpma Operatörü(*) : Sagında ve solunda bulunan 2 degişkenin çarpımını bulur.

int sayi = 5*7 ;

d.)Bölme Operatörü(/) : Sagdaki degişkeni soldaki degişkene böler ve bölümü verir.

int sayi1 = 45 ;
int sayi2 = 3 ;
double sayi3 = sayi1/sayi2 ;

e.)Mod Operatörü(%) : Sagdaki degişkeni soldaki degişkene böler ve kalanını verir.

float sayi = 45.5f;
int sayi1 = 2;
float sayi2 = sayi % sayi1;

3.Aritmetik artırma ve eksiltme operatörleri(++ , –)

Bu operatörler uygulandıgı degişkenin degerini 1 artırır ya da 1
azaltır ve aynı zamanda bu operatörler uygulandıgı degişkenin sagında ve
solunda olabilirler.

a.)Artırma Operatörleri(++):  Uygulandıgı degişkenin degerini 1 artırır.

int sayi = 2 ;
sayi++ ;
++sayi ;

b.)Eksiltme Operatörleri(-  -):  Uygulandıgı degişkenin degerini 1 azaltır.

int sayi = 2 ;
sayi-– ;
--sayi ;

NOT : ++sayi  ile  sayi++ arasında ki temel fark  birinci ifadede önce bir artırılır sonra işlemi yapar,ikinci ifadede önce işlemi yapar sonra bir artırır.Aynı durum  – -sayi ile sayi- – için de geçerlidir.

int sayi1 = 5 ;
int sayi2 = sayi1++ ;
System.out.println(sayi2);
int sayi3 = 5 ;
int sayi4 =++sayi3 ;
System.out.println(sayi4);

4.Aritmetik atama operatörleri(+=  ,-= , *- , /= , %=)

Bu operatörler degişkenlere deger atama ve aritmetik işlemlerin tek bir defada yapılmasını saglar.

a.)Topla ve Ata Operatörü(+=) : Solunda ki degişkenin degerini sagında ki degişkenin degeri kadar artırır ve sonucu atar.

int sayi1 = 45;
int sayi2 = 25;
sayi1 +=
sayi2;                //Sonuç = 70

b.)Çıkart ve Ata Operatörü(-=) : Solunda ki degişkenin degerini sagında ki degişkenin degeri kadar artırır ve sonucu atar.

int sayi1 = 45;
int sayi2 = 25;
sayi1 -= sayi2;       //Sonuç = 20

c.)Çarp ve Ata Operatörü(*=) : Solunda ki degişkenin degerini sagında ki degişkenin degeri kadar artırır ve sonucu atar.

int sayi1 = 5;
int sayi2 = 2;
sayi1 *= sayi2;       //Sonuç = 10

d.)Böl ve Ata Operatörü(/=) : Solunda ki degişkenin degerini sagında ki degişkenin degeri kadar artırır ve sonucu atar.

int sayi1 = 45;
int sayi2 = 5;
sayi1 /= sayi2;       //Sonuç = 9

e.)Mod ve Ata Operatörü(%=) : Solunda ki degişkenin degerini sagında ki degişkenin degeri kadar artırır ve sonucu atar.

int sayi1 = 45;
int sayi2 = 25;
sayi1 %=sayi2;        //Sonuç = 20

5.İlişkisel operatörler(< , > , >=  ,<=  , == , !=)

Bu operatörler true veya false döndürür daha çok koşullarda kullanırız.Örnek üzerinden gösterecek olursak ;

System.out.println(7 > 6);             //Sonuç = true
System.out.println(7 < 6);             //Sonuç = false
System.out.println(7 >= 6);            //Sonuç = true
System.out.println(7 <= 6);            //Sonuç = false
System.out.println(7 == 6);            //Sonuç = false
System.out.println(7 != 6);             //Sonuç = true

6.Mantıksal operatörler(AND,OR,XOR,NOT)

Mantıksal operatörler birden çok karşılaştırma işlemini birleştirip tek bir koşul ifadesi haline getirmek için kullanılır.

X Y Not X(!X) Not Y(!Y) X AND Y X OR Y X XOR Y
false false true true false false  false
false true true false false true  true
true false true true false true  true
true true true false true true  false

NOT : Mantıksal operatörlerden &&(AND) ,
||(OR) operatörleri tek karakter(& , |) olarak da kullanılabilir.
Aralarında ki tek fark ise tek karakterli operatörlerin her iki yanında
ki koşulları kesinlikle yoklamasıdır ama çift karakterli işleme soldan başlanılır ve tüm ifade bitmeden kesin sonuca ulaşılırsa ifadenin geri kalan kısmı göz ardı
edilebilir.Örnegin AND işleminde sol taraf yanlış ise sonuç kesin
yanlış olacaktır çift karakterli(&&) operatör kullanırsak burada
ilk koşulumuz uymadıgı için ikinci koşulumuza bakılmaz ama tek
karakterli(&) operatör kullanırsak birinci koşul yanlış olsada
ikinci koşul da yoklanılır.

a.)AND Operatörü : Bu operatör &&
veya  & ifadeleri ile kullanılabilir.Bu operatörü kullanırsak
sagında ki ve solunda ki iki koşulda dogru olmalıdır.

b.)OR Operatörü : Bu operatör | |  veya  |
ifadeleri ile kullanılabilir.Bu operatörü kullanırsak sagında ki ve
solunda ki iki koşuldan birisinin dogru olması yeterlidir.

c.)NOT Operatörü : Bu operatör  !  ifadesi ile kullanılabilir.Bu operatörkendisinden sonra gelen mantıksal ifadenin degilini alır.

d.)XOR Operatörü :Her iki ifade dogru veya yanlış ise false birisi dogru birisi yanlış ise true döner

int sayi1=10;
int sayi2=5;
boolean c=true;
a > b && b > 2 ;                           //Sonuç = true
a > b & b > 2;                             //Sonuç = true
a > b && b > 7;                            //Sonuç = false
a > b || b > 7;                            //Sonuç = true
b > a || b > 2 ;                           //Sonuç = true
a > b ^ b > 2 ;                            //Sonuç = false
a > b ^ b > 7 ;                            //Sonuç = true
b > a ^ b > 2;                             //Sonuç = true
b > a ^ b > 7;                             //Sonuç = false
System.out.println(!c);                    //Sonuç = false

7.Bit tabanlı(Bitwise) operatörler(& , | , ^ , ~ , << , >>)

Bu operatörler uygulandıkları degişkenleri ikilik tabana çevirip karşılık gelen bitler üzerinde işlem yapan operatörlerdir.

a.)And Operatörü(&) : Bu operatör sagında ki ve solunda ki degerleri 2’lik sayı sistemine çevirir ve AND işlemini yapar,sonucuda dönderir.

int sayi1 = 4;                      //0000 0100
int sayi2 =7;                       //0000 0111
int sonuc = sayi1 & sayi2;          //0000 0100 –>;sonuç = 4

b.)Or Operatörü(|) : Bu operatör sagında ki ve solunda ki degerleri 2’lik sayı sistemine çevirir ve OR işlemini yapar,sonucuda dönderir.

int sayi1 =4;                       //0000 0100
int sayi2 =7;                       //0000 0111
int sonuc = sayi1 | sayi2;          //0000 0111 –>sonuç = 7

c.)Xor Operatörü(^) : Bu operatör sagında ki ve solunda ki degerleri 2’lik sayı sistemine çevirir ve XOR işlemini yapar,sonucuda dönderir.

int sayi1 =4;                       //0000 0100
int sayi2 =7;                       //0000 0111
int sonuc = sayi1 | sayi2;          //0000 0011 –>sonuç = 3

d.) Tamamlama(Complement) Operatörü (~) : Bu
operatör sagında ki ve solunda ki degerleri 2’lik sayı sistemine çevirir
ve biti 0 olanı 1 yapar,1olanı da 0 yapar ve sonucuda dönderir.

int sayi1 = 4;
System.out.println(~sayi1);

e.)Bit Tabanlı Kaydırma Operatörü(<<,>>) : Bu operatör sagında ki ve solunda ki degerleri 2’lik sayı sistemine çevirir ve istenildigi kadarıyla saga veya sola kaydırılır.

int sayi1 = 4;                     //0000 0100
System.out.println(sayi1 >> 1);    // 0000 0010 –>sonuç = 2
System.out.println(sayi1 << 4);    //0100 0000 –>sonuç = 64

8.   ?:  Operatörü

Java programlam dilinde 3 argüman alan tek operatördür ve bir degişkene şartlı atama yapılamsını saglar.

int sayi1 = 15;
int sayi2 = 10;
int sayi3 = 30;
int sayi4 = 20;
int sayi5 = sayi1 > sayi2 ? sayi3 : sayi4;
/* sayi1 sayi2’den büyükse sayi3’ü,degilse sayi4’ü sayi5’e ata Sonuç = 30 */
int sayi6 = sayi1 < sayi2 ? sayi3 : sayi4;
/* sayi1 sayi2’den küçükse sayi3’ü,degilse sayi4’ü sayi5’e ata Sonuç = 20 */

OPERATÖR ÖNCELİGİ

Eger bir işlemimizde ya da bir methodumuz da birden fazla operatör
kullandıysak bunların bir çalışma sırası vardır aslında bu çalışma
sırası Matematikdekinin aynısıdır.Şimdi biz çalışma önceligi en baştan
en aşagı dogru olanları sıralayacak olursak en başta parantezler
çalışır.

Açıklama Operatör Öncelik Okunuş
 Parantez  ( )  11  Soldan Saga
Sonra artırSonra eksiltNokta

++

.

 10   Sagdan Sola
Önce ArtırÖnce EksiltTekil Operatörler

++

!

 9  Soldan Saga
Tip AtamaNesne Oluşturma  (type)

new

 8  Soldan Saga
Çarpma-Bölme   */%  7  Soldan Saga
Toplama-ÇıkarmaString Toplama

 +

+

 6  Soldan Saga
İlişkisel Operatörler

 <

<=

>

=>

 5  Soldan Saga
Eşitlik İnceleme

 ==

!=

 4  Soldan Saga
Mantıksal XOR  ^  3  Soldan Saga
 Mantıksal AND  &&  2  Soldan Saga
 Mantıksal OR  ||  1  Soldan Saga
 Atama Operatörleri  =  0  Sagdan Sola

Önceligi en yüksek olan operatör ilk çalışacak operatördür.

Yazar : Mustafa Bektaş Tepe

Java && Oracle

Loading