2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI
2.3 OPERATÖRLER

Operatörler, tek başlarına kullanıldıklarında bir anlam ifade etmeyen, ancak programın işleyişine katkıda bulunan
karakterlere operatör denir.
Matematiksel Operatörler
İlişkisel Operatörler
Atama ve İşlemli Atama Operatörleri
Mantıksal Operatörler
Koşul Operatörü

+,-,/,*,%
==, !=, >, <, >=, <=
=, +=, -=, *=, /=, %=, x++, x-&, |, &&, ||, !
?:
C# da bunun dışında bazı operatörler mevcuttur. Ama en çok kullanılanlar bunlar.
2.3.1 Matematiksel Operatörler
Operatör
+
*
/
%
Açıklama
Toplama işlemi
Çıkarma işlemi
Çarpma işlemi
Bölme işlemi
Mod alma işlemi

+ Operatörü



Toplama işlemi yapmak için kullanılır.
String ifadeleri birleştirme işlemi için kullanılabilir.
Bir string ifade ile bir sayısal ifadeyi birleştirme işlemi için kullanılabilir.
static void Main(string[] args)
{
Console.WriteLine(5+7); //Toplama İşlemi için kullanılır. Sonuç:12
Console.WriteLine("5" + "7");// String ifadeleri birleştirmek için
kullanılır.sonuç:57
Console.WriteLine("Merhaba " + 10 + "-D");// string+sayı+string ifade
}

- Operatörü

Çıkarma işlemi yapmak için kullanılır.
static void Main(string[] args)
{
int x = 5, y = 7;
int fark = x - y;
Console.WriteLine("x-y=" + fark);
}
Sayfa 1
2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI

* Operatörü

Çarpma işlemi için kullanılır.
static void Main(string[] args)
{
int x = 5, y = 7;
int carpma = x * y;
Console.WriteLine("x*y=" + carpma);
}

/ Operatörü

Bölme işlemi için kullanılır.
static void Main(string[] args)
{
int x = 15, y = 2;
int bol = x / y;
Console.WriteLine("x/y=" + bol);
}

Bu örneğin sonucunda bol değişkeninin veri tipi int olarak tanımlandığı için bölüm 7 çıkacaktır.
static void Main(string[] args)
{
int x = 15, y = 2;
float bol = (float)x / y;
Console.WriteLine("x/y=" + bol);
}

Bu örneğimizde ise bol değişkeni float tanımlanmış bölüm 7.5 çıkacaktır.

% Operatörü (Mod alma)

Bir sayının başka bir sayıya bölümünden kalan sonucu alma işlemine mod alma denir.
Bu işlemi yapmak için % karakteri kullanılır.
static void Main(string[] args)
{
int x = 15, y = 2;
int mod = x % y;
Console.WriteLine("x%y=" + mod);
}
x in y ye bölümümden kalanı verir. Sonuç 1 çıkacaktır.
Sayfa 2
2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI
2.3.2 İlişkisel Operatörler
Operatör
==
!=
<
>
<=
>=
Açıklama
Eşittir
Eşit değildir
Küçüktür
Büyüktür
Küçük eşittir
Büyük eşittir

İlişkisel operatörler iki değerin karşılaştırılması işlemi için kullanılır. Programımızda koşul ifadelerinde kullanılarak
programın akşını değiştirmemizi sağlar.

Karşılaştırma sonucunda işlem doğru çıkarsa True (doğru), yanlış çıkarsa False (yanlış) olmak üzere boolen bir
değer döndürür.

Karşılaştırılan ifadelerin aynı türde olması gerekir. Yani bir sayı ile karakter ifadesi karşılaştırılamaz.

= = Operatörü : Aynı türdeki iki değerin birbirine eşitliğini kontrol eden operatördür. Bu iki değer birbirine eşit
ise True değilse False değeri döndürülür.
static void Main(string[] args)
{
int x = 10;
int y = 4;
string str1 = "bil";
string str2 = "yazilim";
Console.WriteLine(x == y);// false
Console.WriteLine(str1 == str2);// false
Console.WriteLine(3 == "3");// hatalı kullanım. int tipi ile string tipi
karşılaştırılamaz.
Console.WriteLine((2 + 2) == 4);// sonuç true olacaktır.
Console.WriteLine((2 + 1) == 4);// sonuç false olacaktır.
}

!= Operatörü: Aynı türdeki iki değerin birbirine eşit olmadığının (eşit değil) kontrolü
için kullanılan operatördür.
static void Main(string[] args)
{
int x = 7;
int y =5;
string s1 = "bilyazilim";
string s2 = "bilyazilim";
Console.WriteLine(x != y);// true
Console.WriteLine(s1 != s2);// false
Console.WriteLine(3 != 3);// false
Console.WriteLine(1 != 3); // true
}
Sayfa 3
2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI

< Operatörü: Bir değerin aynı türdeki başka bir değerden küçüklüğünün kontrolünün yapıldığı operatördür. Bu
operatör string ifadelerde kullanılmaz. Char ifadelerinde kullanılabilir.
static void Main(string[] args)
{
int x = 7;
int y =5;
string s1 = "bilyazilim";
string s2 = ".net";
Console.WriteLine(x < y);// false
Console.WriteLine(s2<s1);//hata:bu operatör string ifadelerde kullanılamaz.
Console.WriteLine(3 < 3);// false
Console.WriteLine('a'<'z'); // true
}

> Operatörü: Bir değerin aynı türdeki başka bir değerden büyüklüğünün kontrolünün yapıldığı operatördür. Bu
operatör string ifadelerde kullanılmaz. Char ifadelerinde kullanılabilir.
static void Main(string[] args)
{
int x = 7;
int y =5;
string s1 = "bilyazilim";
string s2 = ".net";
Console.WriteLine(x > y);// True
Console.WriteLine(s2>s1);//hata:bu operatör string ifadelerde kullanılamaz.
Console.WriteLine(3 > 3);// false
Console.WriteLine('a'>'z'); // false
}

<= Operatörü: Bir değerin aynı türdeki başka bir değerden küçük veya eşitliği kontrolünün yapıldığı operatördür.
Bu operatör string işlemlere uygulanmaz.
static void Main(string[] args)
{
int x = 7;
int y =5;
string s1 = "bilyazilim";
string s2 = ".net";
Console.WriteLine(x <= y);// false
Console.WriteLine(s2<=s1);//hata:bu operatör string ifadelerde kullanılamaz.
Console.WriteLine(3 <= 3);// true
Console.WriteLine('a'<='z'); // true
}

>= Operatörü: Bir değerin aynı türdeki başka bir değerden büyük veya eşitliği kontrolünün yapıldığı
operatördür. Bu operatör string işlemlere uygulanmaz.
static void Main(string[] args)
{
int x = 7;
int y =5;
string s1 = "bilyazilim";
string s2 = ".net";
Console.WriteLine(x >= y);// True
Console.WriteLine(s2>=s1);//hata:bu operatör string ifadelerde kullanılamaz.
Console.WriteLine(3 >= 3);// true
Console.WriteLine('a'>='z'); // false
}
Sayfa 4
2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI
2.3.3 Atama ve İşlemli Atama Operatörleri
Operatör
=
+=
-=
*=
/=
%=
++
--
Açıklama
Atama (sağdaki ifadeyi soldaki ifadeye atar.)
Sağdaki ifadeyi soldakine ekle
Sağdaki ifadeyi soldakinden çıkar.
Sağdaki ifadeyi soldakine çarp
Sağdaki ifadeyi soldakine böl
Soldaki ifadenin sağdaki ifadeye bölümünden kalan (sol mod sağ)
İfadenin değerini bir arttırır.
İfadenin değerini bir azaltır.
 = Operatörü: Bu operatörle sağdaki ifade soldaki ifadeye atanmış olur. Bu operatörü çok sık kullanılır.
Operatörrün solunda yalnızca bir tane değişken olmalıdır.
x+y= 23;// hata:operatörün solunda sadece bir değişken olmalıdır.
x=5; // burada x değerine 5 atanmış. Dolayısıyla x in değeri 5 olur.

Bu operatörle matematikte ki = (eşittir) operatörünü birbirine karıştırmamak gerekir.
x=x+5; // böyle bir kullanım matematikte yanlış, ama programlama da kullanılabilir.
x=5+5; // x in değeri 5, x+5 x’e atanmış oldu. x in en son değeri 10 olur.
static void Main(string[] args)
{
int x = 19, y = 5;
x = x + y; // x+y değeri x atanmış oldu.
}
 += operatörü: sağdaki ifade soldaki ifadeye eklenir. Sonuç soldaki ifadenin değeri olur.
int x = 19, y = 5;
x += y; //y değeri x eklenir x son değeri 24 olur. x=x+y aynı işlemi yapar.
//x+=y; ile x=x+y; aynı işlemi yapar.
y += x + 5;//(x+5) ifadesi y'ye eklenir. y değeri 34 olur.

Bir bir artırma işlemi için x+=1 (veya x=x+1) yerine x++ işlemi kullanılabilir.

++ değişkenden sonra kullanılırsa önce atama işlemi yapılır sonra artırma yapılır.
int x=0, y=0,toplam;
x=y++;
toplam = x + y; //önce x y’ye eşitlenir, daha sonra y artırılır. İşlem sonucu: x=0, y=1, toplam=1 olur.

++ değişkenden önce kullanılırsa önce artırım yapılır daha sonra atama işlemi yapılır.
int x=0, y=0,toplam;
x=++y;
toplam = x + y; //önce y artırılır daha sonra x y’ye eşitlenir. İşlem sonucu: x=1, y=1, toplam=2 olur.

Yukarıdaki ++ operatörü için geçerli olan işlem, aynen -– içinde geçerlidir.
Sayfa 5
2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI
 = operatörü: sağdaki ifadeden soldaki ifadeyi çıkarır. Sonuç soldaki ifadenin değeri olur.
byte x = 7, y = 5;
x -= y;// x=x-y; sonuç x in değeri 2 olur.
y -= 2;// y nin değeri 2 azaltılmış oldu. y 3 oldu.
 *= operatörü: sağdaki ifade ile soldaki ifade çarpılır. Sonuç soldaki ifadenin değeri olur.
byte x = 7, y = 5;
x *= y;// x=x*y; sonuç x in değeri 35 olur.
y *= 2;// y=y*2; y nin değeri 10 olur.
 /=operatörü: sağdaki ifade soldaki ifadeye bölünür. Sonuç soldaki ifadenin değeri olur.
byte x = 10, y = 5;
x /= y;// x=x/y; sonuç x in değeri 2 olur.
y /= 2;// y=y/2; y nin değeri 2 olur.
 %= operatörü: soldaki ifadenin sağdaki ifadeye bölümünden kalan bulunur. Bu kalan değer soldaki ifadenin
değeri olur.
static void Main(string[] args)
{
int x =23, y = 5;
x%= y;//x=x%y ifadesiyle aynı işlemi yapar.x 3 olur.
Console.WriteLine(x);// Ekranda 3 gösterir.
}
 ++ operatörü: bir değişkenin değerini bir artırır. Değişkenin önünde ve arkasında kullanılabilir. Önünde
kullanıldığında önce değişkenin değerini artırır sonra atama yapar. Arkasında kullanıldığı zaman önce atama
yapar sonra artırır. Örnekler üzerinde inceleyelim.
static void Main(string[] args)
{
int x = 7, y = 5, z = 3;
x++;// x bir artar, x değeri 8 olur.
Console.WriteLine("x:" + x);
x = y++;// y değeri x'e atanır, y nin değeri 1 artar. x değeri 5, y değeri 6 olur.
Console.WriteLine("x:" + x + ", y:" + y);
x = ++z;//z değeri 1 artar, z değeri x'e atanır. x değeri 4, z değeri 4 olur.
Console.WriteLine("x:" + x + ", z:" + z);
}
 -- operatörü: Bir değişkenin değerini azaltır. Değişkenin önünde ve arkasında kullanılabilir. Önünde
kullanıldığında önce değişkenin değerini azaltır sonra atama yapar. Arkasında kullanıldığı zaman önce atama
yapar sonra azaltır. Örnekler üzerinde inceleyelim.
static void Main(string[] args)
{
int x = 7, y = 5, z = 3;
x--;// x bir azalır, x değeri 6 olur.
Console.WriteLine("x:"+x);
x = y--;// y değeri x'e atanır, y nin değeri 1 azalır. x değeri 5, y değeri 4 olur.
Console.WriteLine("x:"+x+", y:"+y);
x = --z;//z değeri 1 azalır, z değeri x'e atanır. x değeri 2, z değeri 2 olur.
Console.WriteLine("x:"+x+", z:"+z);
}
Sayfa 6
2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI
2.3.4 Mantıksal Operatörler

Mantıksal değerler birden fazla koşulun olduğu durumlarda kullanılır. Bütün boolen değerlerini tek bir boolen
değere dönüştürmede kullanılır.
Operatör
&&
&
||
|
!
Açıklama
Mantıksal ve
Bitsel ve
Mantıkasl veya
Bitsel veya
Değil
 && operatörü: Mantıksal ve operatörü bütün koşulların doğru (true) olması durumunda sonuç doğru (true),
koşullardan herhangi biri yanlış (false) olduğu zaman sonuç yanlış (false) olur.
True && false = false,
True && true = true,
False && false = false

& ile && operatörü aynı işlemi yaparlar. Birden fazla koşulda && operatörü false
gördüğü anda diğer koşullara bakmadan sonuç false olur. & operatörü ise bütün
koşullara bakar ve sonucu öyle belirler. Onun için &&, & den daha hızlı
çalışabilir.
static void Main(string[] args)
{
int x = 5, y = 7, z = 11;
bool a = (x == 5 && y == 10 && z == 11);// true ve false ve true, a'nın değeri false
Console.WriteLine(a);//ekranda false gösterir.
}
 || operatörü: Mantıksal ve operatörü bütün koşulların false (yanlış) olması durumunda sonuç false (yanlış),
koşullardan herhangi biri true (doğru) olduğu zaman sonuç true (doğru) olur.
True && false = true,
True && true = true,
False && false = false

| ile || operatörü aynı işlemi yaparlar. Birden fazla koşulda || operatörü true
gördüğü anda diğer koşullara bakmadan sonuç true olur. | operatörü ise bütün
koşullara bakar ve sonucu öyle belirler. Onun için ||, | den daha hızlı
çalışabilir.
static void Main(string[] args)
{
int x = 5, y = 7, z = 11;
bool a = (x == 5 || y == 10 || z == 11);// true ve false ve true, a'nın değeri true
Console.WriteLine(a);//ekranda true gösterir.
}
 ! operatörü: “Değil” anlamına gelir. Boolen ifadeleri tersine çevirir.
static void Main(string[] args)
{
int x = 5, y = 7, z = 11;
bool a=!(x<7);// a'nın değeri false olur.
bool b = !(y > z);// b'nın değeri true olur.
Console.WriteLine("a=" + a + ", b=" + b);//çıktısı: a=False, b=True
}
Sayfa 7
2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI
 ?: Koşul Operatörü : Verilen koşula göre iki ifadeden biri çalışır. Koşun doğru olması ve yanlış olması durumuna
göre çalışır.

Kullanımı:
 Koşul ? doğruysa burası : yanlışsa burası
 Koşul ? a : b // koşul doğruysa a, değilse b olur.
static void Main(string[] args)
{
Console.WriteLine("Devam etmek istiyor musunuz?(e,y)");
string cvp = Console.ReadLine();
Console.WriteLine(cvp=="e"?"Tebrikler...":"Sağlıkla kalın...");
}
2.3.5 İşlem Önceliği

İşlem öncelik sırası aşağıdaki tabloda en yüksekten en düşüğe doğru sıralanmıştır.

Yapılan işlemde yukarıdaki sıra tamamlandıktan sonra eğer aynı tür işlemler kaldıysa işlem soldan sağa doğru
yapılır.
 Örnek: 3+5*2 işleminin sonucu nedir?
 Yukarıdaki işlemde önce 3 ile 5’i toplar ve sonucu 2 ile çarparsanız sonuç yanlış çıkar.
 İşlem önceliğine göre önce 2 ile 5’i çarpıp çıkan sonuçla 3’ü topladığımız zaman sonuç doğru çıkar.
 3+5*2 = 8*2 = 16 // yanlış cevap
 3+5*2 = 3 + 10 = 13 // doğru cevap
Sayfa 8
Download

2.3 operatörler - Ahmet Cansever