C# Operatörler 1

Operatörler önceden tanımlanmış birtakım matematiksel ya da mantıksal işlemleri yapmak için kullanılan özel karakterler topluluğudur. Programlama dillerinde tek başlarına herhangi bir anlamı olmayan ancak programın işleyişine katkıda bulunan karakter ya da karakter topluluklarına operatör denir. Örneğin a+b ifadesinde + işareti bir operatördür. Operatörlerin etki ettikleri sabit ya da değişkenlere ise operand denir. Örneğin a+b ifadesinde a ve b birer operanddır. C#’ta operatörlerin bazıları tek, bazıları çift, bazıları da üç operand alır. Peki eğer bir ifadede birden fazla operatör varsa ne olacak? Örneğin 2+3*7 gibi bir ifadede önce hangi işlem yapılacak? Burada önce toplama işlemi yapılırsa sonuç 35 olur, ancak önce çarpma işlemi yapılırsa sonuç 23 olur. İşte C#’ta bu gibi durumları önlemek için operatör önceliği kavramı bulunmaktadır. Operatör öncelikleri ile ilgili şu kuralları bilmenizde fayda var:

  • Önce parantez içleri yapılır. Örneğin (3+5)*9 gibi bir ifadede önce toplama işlemi yapılır.
  • İç içe parantezler söz konusuysa önce en içteki parantez yapılır, sıra ile dıştaki parantezlere gidilir. Örneğin (2+(9+2)*5)*2 gibi bir ifadede önce 9 ile 2 toplanıp 11 değeri bulur, sonra 11 ile 5 çarpılıp 55 değeri bulunur, sonra 55 ile 2 toplanıp 57 değeri bulunur, en son da 57 ile 2 çarpılıp 114 değeri bulunur.
  • Dikkat ettiyseniz yukarıdaki örnekte bir parantez söz konusu olmamasına rağmen önce toplama yerine çarpmanın yapıldığı bir durumla karşılaştık. Çünkü C#’ta farklı operatörlerin farklı önceliği vardır. Yani ifadede bir parantez yoksa önce öncelik sırası daha önde olan operatörün işlemi yapılır. Aşağıdaki tabloda operatörler öncelik sırasına göre listelenmiştir. Tablo, öncelik sırası en önde olandan en geride olana göre sıralanmıştır. Yani aynı ifadede parantez söz konusu değilse bu tablodaki daha üstte olan operatör daha önce işletilecektir.

Örnek:

a + b ifadesinde + operatör a ve b ise operanddır.
i && j ifadesinde && operatör i ve j ise operanddır.

Operatörlerin Sınıflandırılması

Operatörler genel olarak yapılarına ve işlevlerine göre sınıflandırılabilir. Yapılarına göre operatörler 3 gruba ayrılır.

  • Unary operatörler: Tek operandıolan operatörler.
  • Binary operatörler: İki operandı olan operatörler.
  • Ternary operatörler: Üç operandı olan operatörler.

Unary operatörler

() [] ++ +
! ~ new checked
unchecked typeof sizeof

Binary operatörler

* / % +
< <= > >= as
is << >> == !=
& ^ | && ||
= *= /= %= +=
-= <<= >>= &= ^=
|=

Ternary operatörler

? : (ternary if)

İşlevlerine Göre Operatörler 6 Gruba Ayrılır

  • Aritmetik operatörler
  • Karşılaştırma operatörleri
  • Mantıksal operatörler
  • Bitsel operatörler
  • Atama ve işlemli atama operatörleri
  • Özel amaçlı operatörler

Aritmetik operatörler

+ * / %
++

Karşılaştırma operatörleri

> < <= >= ==
!= as is

Mantıksal operatörler

|| && !

Bitsel operatörler

| & ~ ^ << >>

Arama ve işlemli atama operatörleri

= *= /= %= +=
-= <<= >>= &= ^=
|=

Özel amaçlı operatörler

?: () [] +
& * -> . new
checked unchecked typeof sizeof

 

Kaynaklar:
1. https://tr.wikibooks.org/wiki/Kategori:C_Sharp_Programlama_Dili
2. Her Yönüyle C# (Sefer Algan)

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.