6 - C# Operatörler

MerryGo

Yeni üye
19 May 2021
48
15
Operatörler
csharp-1200x600.png

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();
Çıktı:
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;
Burada y değişkenini x değişkenine atadık yani x değişkeninin yeni değeri 12 oldu.

OperatörYaptığı 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;
Yukarıdaki kodu çalıştırırsak x in yeni değeri 36 olur.

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();
Çıktı:
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:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.