Archive

Archive for the ‘Operatörler’ Category

Operatörler

27 October 2010 Leave a comment

kaynak: http://mcansozeri.wordpress.com/category/yazilim/

Önceden tanımlanmış birtakım matematiksel ya da mantıksal işlemleri yapmak için kullanılan özel karakter ya da karakterler topluluğudur. Operatörler gerekli işleri yapmaları için bir takım malzemeye ihtiyaç duyarlar. Örneğin + operatörünün toplama yapabilmesi için iki tane sayıya ihtiyacı vardır. Bu sayılara operand denilmektedir. Aynı şekilde ++ operatörü bir operanda ihtiyaç duymaktadır. Görüşdüğü gibi her operatörün farklı sayıda operandı bulunmaktadır. Örnek verelim;

  • a+b → Burda operatör +, operandlar ise a ve b’dir.
  • ++c → Burda operatör ++, operand ise c’dir.

Yapılarına göre operatörleri 3 gruba ayırabiliriz. Bunlar:

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

İşlevlerine göre operatörleri 6 saınıfa ayırabiliriz. Bunlar:

  • Aritmetik Operatörler (Arithmatic Operators): Toplama ve çıkarma gibi temel işlemleri yapan operatörlerdir.
  • Karşılaştırma Operatörleri (Comparison Operators): İki sayı arasındaki büyüklük ve küçüklüğ gibi ilişkileri kontrol eder.
  • Mantıksal Operatörler (Logical Operators): Mantıksal işlemleri gerçekleştirirler.
  • Bitsel Operatörler (Bitwise Operators): Değişkenlere ilişkin değerlerin bitleri ile ilgili işlemler yaparlar.
  • Atama ve İşlemli Atama Operatörleri (Assignment Operators): Bir değişkene değer atamak için kullanılırlar.
  • Özel Amaçlı Operatörler (Special Case Operators): Bu gruptaki operatörlerin genel bir amacı yoktur. Her biri farklı amaçlar için kullanılmaktadır.

Operatör Önceliği

Konuyu çok fazla uzatmak istemiyorum. Çünkü kitaplarda ve internet üzerindeki makalelerde çok uzun yazıyor.
c=3+5*9; c=48dir. (3+5)*9 olsa 72 olacaktı. Öncelik normal hayattaki matematikte ve yazılımda bildiğimiz gibi çarpmadadır.
Ama çarpma ve bölme ile toplama ve çıkarmanın öncelikleri eşittir.
Peki c=3*4/2; bu durumda olacak? İşlem öncelikleri eşit. C# otomatik olarak Soldan işlem yaparak Sağa doğru yapacaktır. Yani önce 3*4 sonra 12/2.
c=(3+5)*9; c=72dir. İşlemler parantezden başlar. Eğer iç içe 2 veya daha fazla parantez varsa en içtekinden başlanarak işlem yapılır.

Yazımın devamında birinci yazıda geçtiğimiz başlıkları ayrıntılı olarak göreceğiz. Tablodaki her birini tek tek ele alacağım.

C# Operatör Tablosu

Bu tabloyu ezberlemek zorunda değilsiniz. Program yazarken bir referans olarak bu tabloyu kullanabilirsiniz.

% Operatörü
İki operand almaktadır. Sonuç birinci operandın ikinci operanda bölümünden elde edilen kalandır. m=20%5 → m=0; c=10 % 3 → c=1 a=-7 % 4 → a=-3 n=2.5 % 1.2 → n=0.1

++ (Artırma) ve — (Eksiltme) Operatörleri

sonek++

a=4

b=a++

a → 5
b → 4

sonek–

a=4

b=a–

a → 3
b → 4

++önek

a=4

b=++a

a → 5
b → 5

–önek

a=4

b=–a

a → 3
b → 3

Karşılaştırma Operatörleri

> ve < Operatörleri
Bu operatör iki sayının birbirlerine göre büyüklüğünü ve küçüklüğünü kontrol eder.
Aşağıdaki örnekte e

krana false yazdığını görebiliiriz.

bool b1 = 60 < 50;

>= ve <= Operatörleri
İki örneğinde sonucu true dur.

bool b1 = 50 <= 50;

bool b2=50>=45;

== ve != Operatörleri
bool b1= 60 == 50; → false
bool b2= 60 == 60;

→ true

bool b3= 60 != 50; → true
bool b4 = 60 !=60; → false

is Operatörü

is operatörü çalışma zamanında bir nesnenin türünün operand ile verilen türe uygun olup olmadığını kontrol eder. Kullanımı ve örneği aşağıdaki gibidir;
<ifade> is <tür>

int i=15;
bool b1= i is int; //Sonuç true.

Mantıksal Operatörler

&& (Mantıksal VE) Operatörü
Mantıksal VE işleminin her iki operanda göre ürettiği değerler aşağıda tablo halinde verilmiştir.

1.Operand

2.Operand

Sonuç

True

True

True

True

False

False

False

True

False

False

False

False

Aşağıda bazı mantıksal Ve işlemleri ve sonuçları görülmektedir.

  • bool b1=35<10 && 10==50; b1 → false
  • bool b2=35>10 && 10!=50 ; b2 → true
  • bool b3=14.6f>10f && 0!=100; b3 → true

|| (Mantıksal VEYA) Operatörü
Mantıksal VEYA işleminin her iki operanda göre ürettiği değerler aşağıda tablo halinde verilmiştir.

1.Operand

2.Operand

Sonuç

True

True

True

True

False

True

False

True

True

False

False

False

Aşağıda bazı mantıksal VEYA işlemler ve sonuçları görüşmektedir.

  • bool b1=35<10 || 10==50; b1 → false
  • bool b2=35>10 || 10!=50; b2 → true
  • bool b3=14.6f>10f || 0!=00; b3 → true

! (Mantıksal Değil) Operatörü (NOT)
Eğer operand true ise ! operatörünün üreteceği değer false, operand false ise ! operatörünün üreteceği değer true’dur.

  • bool b1=!(35>10); b1 → false
  • bool b2=!(10==50); b2 → true

Bitsel Operatörler (Buraya daha sonra değiceğim yazacağım kodlarda)

Atama ve İşlemli Atama Operatörleri

=(Atama) Operatörü
Bir değişkene herhangi bir değer atamak için kullanılır. Aşina olduğumuz bir operatör. Bilmeniz gereken en önemli nokta = operatörünün atama işlemini yaptığı değeri üretmesidir. Aşağıdaki ifade bu yüzden geçersizdir.
byte b=7, a=1, c;
(c=a)=b;  //Hatalıdır çünkü sonuç 1=b olacaktır buda yanlıştır.

İşlemli Atama Operatörleri
*=, /=, +=, -=, &=, ^=, |= gibi operatörler işlemli atama operatörleridir. Kullanımı;
a=a+b; yerine a+=b;
a=a/b; yerine a/=b;
a=a^b; yerine a^=b;
ifadelerini kullanabiliriz.

Özel Amaçlı Operatörler

?: Operatörü (Tenary Operator)
Bu operatör C#’ta 3 operand alan tek operatördür. Daha sonra yazacağım if-else yapı bloklarının yaptığı işe benzer bir iş yapmaktadır. “koşul ? doğru_değer : yanlış değer”

protected void btnYaz_Click(object sender, EventArgs e)
{
int sayi;Convert.ToInt32( txtveri.Text);
string str = “kalem”;
str = str + (sayi == 1 ? ” ” : “ler”);
this.Page.Response.Write(str);
}

kaynak: http://mcansozeri.wordpress.com/category/yazilim/

video: http://haber.aku.edu.tr/~bgokce/CSharp/Ders2_2Operatorler.swf

Categories: Operatörler
Follow

Get every new post delivered to your Inbox.