- 19 May 2021
- 48
- 15
Operatörler
C# dilinde çeşitli işlenmeri yapmak için kullanılan sembollere operatörler deriz.
C# dilinde çeşitli işlenmeri yapmak için kullanılan sembollere operatörler deriz.
Aritmetik Operatörler
Matematik işlemlerini yapmak için kullanılan operatörlere aritmetik operatörler denir.
OPERATÖR | İŞLEVİ |
+ | Toplama |
- | Çıkarma |
/ | Bölme |
* | Çarpma |
% | Mod |
Örnek soru: Klavyeden girilen iki sayının çarpımını, toplamını, farkını, bölümünü, modunu ekrana yazdırınız.
C#:
double sayi1, sayi2;
Console.WriteLine("klavyeden 2 sayi giriniz:");
sayi1 = Convert.ToDouble(Console.ReadLine());
sayi2 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Toplam = {0}", sayi1 + sayi2);
Console.WriteLine("Fark = {0}", sayi1 - sayi2);
Console.WriteLine("Çarpım = {0}", sayi1 * sayi2);
Console.WriteLine("Bölüm = {0}", sayi1 / sayi2);
Console.WriteLine("modu = {0}", sayi2 % sayi2);
Çıktı:
Kod:
klavyeden 2 sayi giriniz:
2
3
Toplam = 5
Fark = -1
Çarpım = 6
Bölüm = 0,666666666666667
modu = 0
Örnek soru : Kullanıcıdan yarıçapı alınan bir dairenin alanını bulan programı yazınız.
C#:
int pi = 3;
double r, alan;
Console.WriteLine("Dairenin yarı çapını giriniz.");
r = double.Parse(Console.ReadLine());
alan = pi * Math.Pow(r, 2);
Console.WriteLine("Dairenin alanı = {0}", alan);
Console.ReadKey();
Kod:
Dairenin yarı çapını giriniz.
2
Dairenin alanı = 12
Atama Operatörü
Atama işlemi "=" operatörü ile yapılır = sembolünün sağındaki değişkeni solundaki değişkene atar.
Örnek:
C#:
int x = 3;
int y = 12;
x = y;
Operatör | Yaptığı iş |
+= | Soldaki değişkeni sağdaki değişkenle toplayıp sonucu soldaki değişkene atar. |
-= | Soldaki değişkeni sağdaki değişken ile çıkararak sonucu soldaki değişkene atar. |
*= | Soldaki değişkeni sağdaki değişken ile çarparak sonucu soldaki değişkene atar. |
/= | Soldaki değişkeni sağdaki değişken ile bölerek sonucu soldaki değişkene atar. |
%= | Solundaki değişkeni sağındaki değişkene bölerek sonucu solundaki değişkene atar. |
Örnek kullanım:
C#:
int x = 3;
int y = 12;
x *= y;
Mantıksal Operatörler
Mantıksal operatörler true ve false olmak üzere 2 değer döndürürler.
Ve (&&) Operatörü
Çarpma işlemine benzetilebilir. İki tarafta true olmadan sonuç true olmaz.
true && true = true
true && false = false
false && true = false
false && false = false
Veya (||) Operatörü
Toplama işlemine benzetilebilir. Değerlerden biri true ise sonuç true'dur.
true || true = true
true || false = true
false || true = true
false || false = false
^ Özel veya Operatörü
Değişkenler birbirinden farklı ise true değeri döndürür.
true ^ false = true
true ^ true = false
false ^ false = false
false ^ true = true
! (değil) operatörü
Değişkenin değerini tersine çevirir. True ise false, false ise true değerine çeviri.
! true = false
! false = true
Null (??) Operatörü
İlk değer null ise ikinci değer işleme alınır. Aksi taktirde ikinci değer işleme alınmaz.
Örnek:
Kod:
string soy_isim = null;
string soy_isim_ne = soy_isim ?? "Soy isim boş"
Console.WriteLine(soy_isim_ne);
Çıktı:
Kod:
"Soy isim boş"
Yukarıda soy_isim değişkeni null olduğundan soy_isim_ne değişkenine "Soy isim boş" değeri atandı.
Koşul (?) Operatörü
İf else bloklarını sade bir hale getirmek için kullanılır. ? Operatörü 3 adet operada sahiptir.
x ? y : z şeklinde kullanılır. X değişkeni doğru ise y işlemi yapılır eğer x değişkeni yanlış ise z işlemi yapılır.
Örnek:
C#:
var number1 = 11;
Console.WriteLine(number1 == 10 ? "number1 is equals 10" : "number1 is not equals 10");
Console.ReadLine();
Kod:
number1 is not equals 10
Bitsel operatörler
Bitsel operatörler ikili sayı sisteminde işlem yaparlar. Bitsel operatörler ~ (bitsel değil), & (bitsel ve), | (bitsel veya) ve ^ (bitsel özel veya) şeklindedir.
Bitsel operatörler sayıları ikili sayı sistemine dönüştürüp öyle işlem yaparlar.
0001 1001
&
0010 0000
=
0000 0000
Yukarıda da gördüşünüz gibi bitsel operatörler satır satır işlem yaparlar yani 1 satır ile 1 satır, 2. satır ile 2 satır ve böyle devam eder.
Yani 25 & 32 işleminin sonucu 0 dır.
true & true = true
true & false = false
false & true = false
false & false = false
Örnek:
C#:
int a = 0b_0000_1111_0000_1111_0000_1111_0000_1100; ;
int b = 0b_0100_1011_0101_0101_1010_0101_0110_0110; ;
Console.WriteLine(Convert.ToString(~b, toBase: 2));
Console.WriteLine(Convert.ToString(a & b, toBase: 2));
Console.WriteLine(Convert.ToString(a | b, toBase: 2));
Console.WriteLine(Convert.ToString(a ^ b, toBase: 2));
Console.ReadKey();
Çıktı:
Kod:
10110100101010100101101010011001
1011000001010000010100000100
1001111010111111010111101101110
1000100010110101010101001101010
Örnek soru: Klavyeden alınan iki sayının AND, OR, XOR işlemlerini yapan programı yazınız.
Kod:
int a, b;
Console.WriteLine("ilk sayıyı giriniz :");
a = Convert.ToInt32(Console.ReadLine());
Console.Clear();
Console.WriteLine("İkinci sayıyı giriniz :");
b = Convert.ToInt32(Console.ReadLine());
Console.Clear();
Console.WriteLine("AND : " + (a & b));
Console.WriteLine("OR : " + (a | b));
Console.WriteLine("XOR :" + (a ^ b));
Console.ReadKey();
Çıktı:
Kod:
ilk sayıyı giriniz :
5
İkinci sayıyı giriniz :
4
AND : 4
OR : 5
XOR :1
Bitsel kaydırma operatörleri(<< >>)
Bitsel kaydırma operatörleri sayıları bitsel olarak sağa ve sola kaydırmamızı sağlar.
<< sayıları sola, >> ise sayıları sağa kaydırır.
Örnek:
C#:
int b = 0b_0100_1011_0101_0101_1010_0101_0110_0110; ;
b = b << 2;
Console.WriteLine(Convert.ToString(b, toBase: 2));
Console.ReadKey();
Çıktı:
Kod:
101101010101101001010110011000
Yukarıda gördüğünüz gibi 2 birim sola kaydı.
Karşılaştırma operatörleri
Karşılaştırma operatörleri şunlardır.
== | Eşittir |
! | Değil |
> | Büyüktür |
< | Küçüktür |
>= | Büyük yada eşittir |
<= | Küçük yada eşittir |
!= | Eşit değildir |
--> | Uzakkaşma operatörü |
<-- | Yakınlaştırma operatörü |
Karşılaştırma operatörü genellikle iki durumu karşılaştırmak için kullanılır.
Örnek kod:
C#:
int a, b;
Console.WriteLine("a sayısını giriniz :");
a = Convert.ToInt32(Console.ReadLine()); // a sayısını kullanıcıdan aldık.
Console.Clear(); // konsol ekranını temizledik
Console.WriteLine("b sayısını giriniz :");
b = Convert.ToInt32(Console.ReadLine()); // b sayısını kullanıcıdan aldık.
Console.Clear(); // konsol ekranını temizledik.
if (a == b) // a sayısı b sayısına eşit ise işlem yapılır.
Console.WriteLine("a sayısı b sayısına eşittir");
if (a < b) // a sayısı b sayısından küçük ise işlem yapılır.
Console.WriteLine("a sayısı b sayısından küçüktür");
if (a > b) // a sayısı b sayısından büyük ise işlem yapılır.
Console.WriteLine("a sayısı b sayısından büyüktür");
Console.ReadKey();
Örnek kod2:
C#:
int a = 5;
int b = 5;
while (a-- > 0)
{
Console.WriteLine(a);
}
Console.WriteLine("-------------");
while (0 < --b)
{
Console.WriteLine(b);
}
Console.ReadKey();
Çıktı:
Kod:
4
3
2
1
0
-------------
4
3
2
1
(a --> 0) işlemi 4 den 0'a kadar geri saydırırken, (0 <-- b) işlwmi 4 den 1'e kadar geri saydırdı.
Artırma ve Azaltma Operatörü
Değişken değerlerinin artırılması veya azaltılmasında kullanılır. Uyguladığı değeri bir artırır veya bir azaltır ve değiştirdiği değeri tutar. Önce ve sonra kullanılmasına göre farklı anlamlar taşır. A bir değişken olsun, ++A, A++, --A veya A-- şeklinde kullanılır.
Örnek:
C#:
int a = 5;
Console.WriteLine("a = " + a);
int b = a++; // a'yı 1 artırdık ama atama işleminden sonra artırma gerçekleşir.
Console.WriteLine("b = " + b);
int c = --b; // ilk olarak b'yi 1 azalttık ve atama işlemini gerçekleştirdik.
Console.WriteLine("c = " + c);
Console.WriteLine("--------------------");
Console.WriteLine("a = " + a);
Console.WriteLine("b = " + b);
Console.WriteLine("c = " + c);
Console.ReadKey();
Çıktı:
Kod:
a = 5
b = 5
c = 4
--------------------
a = 6
b = 4
c = 4
Operatörlerde işlem önceliği
C#'da operatörler ile işlem yaparken işlem önceliğine dikkat etmeliyiz. İşlem önceliği yukarıdan aşağıya doğru aşağıdaki gibidir.
Operatörler |
( ) |
! + - ++ -- |
* / % |
+ - |
< <= > >= is as |
== != |
& |
^ |
| |
&& |
|| |
?: |
= *= /= %= += -= &= ^= |= |
İs operatörü
Kod yazarken değişken tiplerinin uyuşup uyuşmadığını anlamak için kullanılır.
Örnek:
C#:
object x = 3.1;
if (x is int)
{
Console.WriteLine("Değişken int");
}
else
{
Console.WriteLine("Değişken int değil");
}
Console.ReadKey();
As operatörü
As operatörü is operatörüne benzerdir ama boolen değeri döndürmek yerine referans döndürür ve işlem yanlış ise dönen değer null olur.
Son düzenleme: