İlginizi Çekebilir
C# Operatörler Nedir?
  1. Ana Sayfa
  2. C#
  3. C# Operatörler

C# Operatörler

Görsel programlama dersim için göreceğim dilin C# olduğunu söylemiştim. Bir dil hakkında temelden başlayarak ilerleyeceksek C# Operatörler kavramını doğru bir şekilde öğrenmemiz gerektiğini düşünüyorum.

Diğer dillerde olduğu gibi C# Operatörler kavramında, projelerimiz içerisinde karşılaştırma gerçekleştirmek için, matematiksel işlemler, değişkenlere eleman tanımlama gibi işlemler içerisinde kullanımını gerçekleştiririz.

C# Operatörler

Operatörler kendi aralarında farklı kategorilere ayrılır. Her operatörün farklı bir görevi ve yapacağı işlem bulunur. C# Operatörler kavramına ait olan operatör türlerini şu şekilde sıralayabilirim;

  1. Aritmetik Operatörler
  2. Tekli Operatörler
  3. Atama Operatörleri
  4. İlişkisel Operatörler
  5. Mantıksal Operatörler
  6. Bitsel Operaatörler

Operatörlerin etki etmiş oldukları sabit değerlere ya da değişkenlere operand ismi verilir. Bir örnek üzerinden gidersek, a + 5 kavramında + işaretinin bir operatör, a ve 5 değerlerinin operand olduğunu söyleyebilirim.

1- Aritmetik Operatörler

Aritmetik kelimesinden anlayacağımız üzere, matematiksel işlemleri gerçekleştirmek için kullanılan operatör türleridir. Aritmetik operatörler içerisinde bulunan kavramları şu şekilde sıralayabilirim:

  • Ekleme (+) kavramı string değerleri birleştirir, sayısal değerleri ise toplar.
  • Çıkarma (-) işlemi için kullanılır.
  • Çarpma (*) işlemi için kullanılır.
  • Bölme (/) işlemi için kullanılır.
  • Mod Alma (%) bölme işleminde ortaya çıkan kalan değerini elde etmek için kullanırız.

Yukarıda yer alan C# Aritmetik Operatörleri konu alan basit bir örnek kod dizisi oluşturarak ekran çıktımıza göz atalım.

// Değişken Tanımlaması:
int x = 2021, y = 5, z = 8;
string webSite = "www.emrecelen.com.tr", webText = "Web Sitem: ";
//Aritmetik Operatör Kullanımları:
Console.WriteLine(new string ('-',20)+"\n-> C# Aritmetik Operatör Örnekleri");
Console.WriteLine("-> X + Y = " + (x + y) + "\t- Toplama Operatörü"); // Toplama Operatör Kullanımı
Console.WriteLine("-> Z - X = " + (z - x) + "\t- Çıkartma Operatörü"); // Çıkartma Operatör Kullanımı
Console.WriteLine("-> Z * Y = " + (z * y) + "\t- Çarpma Operatörü"); // Çarpma Operatör Kullanımı
Console.WriteLine("-> X / Y = " + (x / y) + "\t- Bölme Operatörü"); // Bölme Operatör Kullanımı
Console.WriteLine("-> X % Y = " + (x % y) + "\t- Mod Alma Operatörü"); // Mod Alma Operatör Kullanımı
Console.WriteLine(new string('-', 20));
Console.WriteLine(webText + webSite); // String metinleri birleştirme için (+) operatör kullanımı

Kod Çıktısı:

C Sharp Aritmetik Operatörler
C# Aritmetik Operatörler

2- Tekli Operatörler

Operand’ın tanımını gerçekleştirmiştim. Tek bir operand için kullanacağımız operatör türlerine tekli (unary) operatör deriz.

  • Tekli + veya - konulması, operand içerisindeki sayısal değeri negatif veya pozitif yapmak için kullanılır.
  • Arttırma ve Azaltma Operatörü (++ / --) operandın değerini bir arttırır veya bir azaltır ve iki türlü kullanım şekli vardır bu kullanım şekillerini aşağıdaki maddelerde belirttim.
  • Sonrasında Artış veya Azalış (x++ / x--) operand önce hesaplanır sonra arttırılma işlemi gerçekleştirilir.
  • Ön Arttırma veya Azaltma (++x / --x) operand önce arttırılır veya azaltılarak hesaplanması gerçekleştirilir.
  • Değil Operatörü (!) boolean içerisinde bulunan değeri ters çevirmek için kullanılır.

C# Tekli Operatörler kullanımını daha iyi anlayabilmek için her operatörü kullanacağımız bir örnek kod dizisi oluşturalım ve ekran çıktısına göz atalım.

 // Değişken Tanımlaması:
int a = 5, b = 5, x = 10, y = 10;
bool neyimBen = true;
// Tekli Operatör Kullanımı:
Console.WriteLine(new string('-', 20)+"\n-> Başlangıç (A) Değeri: {0} -- Başlangıç (B) Değeri: {1}",a,b);
Console.WriteLine("-> (A++) Kullanımı: {0} -- (++B) Kullanımı: {1}", a++, ++b);
Console.WriteLine(new string('-', 20) + "\n-> Başlangıç (X) Değeri: {0} -- Başlangıç (Y) Değeri: {1}", x, y);
Console.WriteLine("-> (X--) Kullanımı: {0} -- (--Y) Kullanımı: {1}", x--, --y);
Console.WriteLine(new string('-', 20) + "\n-> Başlangıç (neyimBen) Değeri: " + neyimBen);
Console.WriteLine("-> (!neyimBen) Kullanımı:" + !neyimBen);
Console.WriteLine(new string('-', 20));

Kod Çıktısı:

C Sharp üzerinde tekli operatör kullanımı
C# Tekli Operatörler

3- Atama Operatörleri

C# Kategorisinde ilk konumuz olan C# Veri Tipleri ve Değişken Tanımlama içeriğinde sıklıkla kullandığımız operatör türüdür. Değişkenlere eleman atamak veya operand içerisindeki veriyi işleme tabi tutmak için kullanılır. Bu işlemler aritmetik operatörler ile aynı sonuçları vermektedir daha detaylı analiz gerçekleştirmek için aşağıdaki maddelerde C# Atama Operatörlerine göz atabiliriz.

  • = Operatörü: Programlamaya ilk başladığınız zaman bir değişken tanımlarken veya bir sınıfı nesne olarak tanımlarken muhakkak kullandığımız temel atama operatörüdür.
  • += Operatörü: Solda yer alan değere, kendi değerini ekleyerek tekrar soldaki değere atama işlemini gerçekleştirir.
  • -= Operatörü: Sol tarafta bulunan değerden, sağda bulunan değeri çıkararak tekrar solda bulunan değere atama işlemini gerçekleştirir.
  • *= Operatörü: Eşittir solunda yer alan değeri, sağda yer alana değer ile çarparak tekrar solda bulunan değere atamasını gerçekleştirir.
  • /= Operatörü: Yukarıda yer alan atama operatörlerinde olduğu gibi soldaki değeri, sağdaki değere böler ve tekrardan a tama işlemini gerçekleştirir.
// Değişken Tanımlaması:
int degisken = 15;
// Atama Operatör Kullanımı:
Console.WriteLine(new string('-', 20) + "\n-> C# Atama Operatör Örnekleri");
Console.WriteLine("-> [{0}] degisken += 5 Sonucu: {1}",degisken, (degisken += 5));
Console.WriteLine("-> [{0}] degisken -= 12 Sonucu: {1}", degisken, (degisken -= 12));
Console.WriteLine("-> [{0}] degisken *= 2 Sonucu: {1}", degisken, (degisken *= 2));
Console.WriteLine("-> [{0}] degisken /= 4 Sonucu: {1}", degisken, (degisken /= 4));
Console.WriteLine(new string('-', 20));

Kod Çıktısı:

C Sharp Atama Operatörleri
C# Atama Operatörleri

4- İlişkisel Operatör

C# Operatörler kavramı içerisinde en çok kullanacağımız operatör türü İlişkisel Operatörlerdir. İlişkisel operatörler, değişkenler içerisinde bulunan elemanların veya harici tanımlanan operand değerlerin karşılaştırmasını gerçekleştirir. Bu karşılaştırma sonucunda dönen değer boolean türünde true veya false‘dur.

  • Küçüktür (<)
  • Büyüktür (>)
  • Küçük Eşittir (<=)
  • Büyük Eşittir (>=)
  • Eşittir (==)
  • Eşit Değildir (!=)

Aklınızda kalıcı bir yer edinmesi için ilişkisel operatörlerin işlevini şu şekilde anlatabilirim: Bir sosyal medya hesabımızda giriş gerçekleştirebilmek için kullanıcı adı ve şifre girişi yapmamız gerekiyor ve bu giriş bilgilerinin doğruluğunu kontrol edecek kod satırlarını oluştururken ilişkisel operatör kavramını kullanırız. İlişkisel operatörler kavramını C# Koşullar hakkında hazırlayacağım yazı içeriğinde daha detaylı göreceğiz.

5- Mantıksal Operatörler

Yukarıda ilişkisel operatörleri anlatırken sosyal medya hesabımıza giriş gerçekleştirebilmek için kullanıcı adı ve şifre girişi yapmamız gerektiği örneğini vermiştim. Vermiş olduğum o örnek içerisinde yapılacak karşılaştırma işlemleri daha stabil olması ve sorun oluşmaması için mantıksal operatörlerden de yardım alınılır. C# üzerinde bulunan mantıksal operatörler ise şu şekildedir;

  • & (ve) Mantıksal Operatörü: Değişken üzerinde tanımlı değeri veya operand üzerindeki gerçekleştirilecek kontroller için uygulanacak sorgulamaya veya işlemlere tabi tutar.
  • | (veya) Mantıksal Operatörü: İşlem esnasında iki kontrol yapısından birisinin koşuluna odaklanır.
  • && (koşullu ve) Mantıksal Operatörü: Karşılaştırmalar esnasında tabi tutulan iki değişkenin veya operandın true olduğu durumlarda işlem gerçekleştirilir.
  • || (koşullu veya) Mantıksal Operatörü: Tekli veya mantıksal operatöründe olduğu gibi iki değerden en az biri true olduğu sürece işlemleri uygulamaya devam eder.
  • ! (değil) Mantıksal Operatörü: Elde edilen boolean veri türündeki değerin tersini alır.

Örnek olarak vermiş olduğum giriş kontrolünün temel mantığını anlamamız ve mantıksal operatörlerin kullanımını daha iyi anlayabilmek için bir kod satırı oluşturalım ve işlem sonunda kod çıktısını inceleyelim.

// Değişken Tanımlaması:
string kAdi, pass;
string kullaniciAdi = "emrecelen", sifre = "root123";
Console.WriteLine(new string('-', 20) + "\n-> C# Mantıksal Operatör Örneği");
Console.Write("-> Kullanıcı Adını Girin: ");
kAdi = Console.ReadLine();
Console.Write("-> Şifrenizi Girin: ");
pass = Console.ReadLine();
Console.WriteLine(new string('-', 20));
if (kullaniciAdi.Equals(kAdi) && sifre.Equals(pass))
Console.WriteLine("-> Giriş Başarılı.");
else
Console.WriteLine("-> Hatalı Giriş Yaptınız.");

Kod Çıktısı:

C Sharp Mantıksal Operatörler
C# Mantıksal Operatörler

6- Bitsel Operatörler

Java’da operatörler kavramını anlatmak için bilgilerimi tazelemek ve yeni bir kavram öğrenmek için keşfettiğim operatör türüdür. Kod yazılırken bilgisayar diline derlendiğinde sıfır ve birlerden oluşan bir yapı haline çevrilir. Bu işlem sonucunda elde edilen bitsel değerler için pek tercih edilmese de bitsel operatörler kullanabiliriz. Bu bitsel operatörler şu şekildedir;

  • ~ Bütün bitsel değerlerin tersini alır. 0 değerini 1’e çevirir, 1 değerini 0’a çevirir.
  • & Bitsel olarak “ve” anlamına gelir.
  • | Bitsel “veya” anlamına gelir.
  • << ve >> Bitsel olarak girilen sayıyı istenilen değer kadar sağa veya sola kaydırır.

Bitsel operatörleri şu zamana kadar örneklerimde kullanmadım veya kullanılan bir proje incelemedim. Bu yüzden Java’da vermiş olduğum örnek üzerinden giderek bitsel operatörlerin çalışma mantığına göz atalım.

Console.WriteLine(9<<2); // 36 Olarak Ekrana Çıktı Gösterir.
Console.WriteLine(9>>2); // 2 Olarak Ekrana Çıktı Gösterir.

İlk örneğimiz üzerinde girdiğimiz 9 değerinin binary karşılığı 1001‘e karşılık gelir. Bu sayıyı 2 bit değerinde sağa kaydırdığımız zaman yeni elde edeceğimiz değer 0010 olur ve bu değerin karşılığı 2’ye denk gelir. Aynı şekilde işlemi 2 bit sola kaydıracağımız zaman ise değerimiz 100100 olur. Bu bitsel sonucun değeri de 36’ya karşılık gelmektedir.

Açıklamadan anlaşılacağı üzere burada değerlerin kendileri değil binary karşılıkları işleme tabi tutulur.

Operatör Önceliği

Operatörler, matematiksel işlemlere benzetilebilir. Matematiksel işlemler gerçekleştirilirken bazı işlem öncelikleri bulunduğu gibi programlarımıza tanımladığımız operatörlerinde bir işlem önceliği bulunmaktadır. Bu operatör önceliğini aşağıdaki görseli inceleyerek daha iyi anlayabilirsiniz.

C# Operatörler
C# Operatör Önceliği

C# Operatörler kavramını projelerimizde, sonraki konularımız içerisinde sıklıkla kullanacağız o yüzden aklınıza takılan soruları veya konu işleyişi hakkında önerileriniz varsa aşağıda bulunan “yorum yap” kısmından benimle iletişime geçebilirsiniz.

Yorum Yap

Yazar Hakkında

Yazmayı, öğrenmeyi, öğrendiklerini paylaşmayı , kodlamayı ve günün birinde Yönetim Bilişim Sistemleri Uzmanı olmanın hayalini kuran birisiyim.

Yorum Yap

Yorumlar (1)

  1. 3 yıl önce

    Çok güzel yazı ellerinize sağlık.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir