YÜKLENİYOR

Aramak için Yazın

C# DESKTOP APPLICATION DEVELOPMENT

C# OPERATÖRLER – Ders 3

Paylaş

Programlama dillerinde tanımlanmış sabit ve değişkenler üzerinde işlemler yapmayı sağlayan karakter ya da karakter topluluklarına operatör denir.

Aritmetiksel Operatörler

Programlama dili bilinen dört işlemin aritmetik işleçlerini destekler: Toplama(+), çıkarma(-), çarpma(*) bölme(/).+,-,* ve / işaretleri dört işlemi temsil ettiğinden işleçler olarak adlandırılır.

Örnek:

long ucret;
ucret =50*30;

NOT: İşlecin üzerinde işlem yaptığı değerler işlenen(operands) olarak adlandırılır. * işleç, 50 ve 30’da işlenendir.

İşleçler ve Türler

Tüm işleçler tüm veri türlerine uygulanamaz. Bir değer üzerinde kullanılabilecek işleçler, değerin türüne bağlıdır. Örneğin, char, int, long, float, double, ya da decimal veri  türlerinde tüm aritmetik işleçleri kullanılabilir. Bununla birlikte string ya da bool türü değişkenler üzerinde artı(+) işleci dışında aritmetik işleçler kullanılamaz. Bu nedenle string türü çıkarma işlecini desteklemediğinden aşağıdaki ifade derlenemez(Bir karakter kümesinin diğer bir karakter kümesinden çıkarılması anlamsızdır.).

//derleme zamanı hatası
Console.WriteLine(“İstanbul”-“Ankara”);

string türü değerler üzerinde + işleci kullanıldığında dize değerleri birleştirir.
Aşağıdaki ifade ekrana “578” (“65 “ değil) yazar.

Console.WriteLine(“57”+”8”);

Aritmetik işlem sonucundaki değer türü, kullanılan işlenenler türüne bağlıdır. Örneğin, 5.0/2.0 ifadesinin değeri 2.5’tir. Her iki işlenenin türü double’dir bu nedenle sonuç türü de double’dir.5/2 ifadesinde her iki işlenen de int türünde ise sonuçta int türünde olacak ve sonuç 2 olacaktır. Bu gibi durumlarda her zaman değerleri aşağıya yuvarlanır.

Yüzde işareti ile gösterilen kalan ya da mod işleci. x % y ifadesinin sonucu x’in y’ye bölünmesi sonucunda kalan değerdir. Örneğin, 9’un 2’ye bölünmesi sonucu bölüm 4, kalan da 1 olduğundan, 9%2 sonucu 1’dir.

NOT: Mod işleci, tüm sayısal türlerde geçerlidir ve sonucun tam sayı olması gerekmez. Örneğin, 7.0%2.4 ifadesinin sonucu 2.2’dir.

ToString yöntemi

.NET platform yazılımındaki her sınıf, ToString yöntemine sahiptir. ToString yönteminin amacı, bir nesneyi dize gösterimine dönüştürmektir. Sayısal türleri metne dönüştürmek için kullanılır. Örneğin,

int i = 123;
string a = i.ToString();

Yukarıdaki ifadede int türünde bir değişken bildirilmiş ve daha sonra bu değişken ToString metoduyla metne dönüştürülerek string türündeki a değişkenine atanmıştır.

İşlem Önceliği

Öncelik bir deyimdeki işleçlerin gerçekleştirilme sırasıdır. + ve * işleçlerini kullanan aşağıdaki deyim düşünülsün.

4 + 5 * 2

Bu ifade belirsiz olmaya yatkındır. Önce toplama işlemi mi yoksa çarpma işlemi mi yapılmalıdır? Diğer bir deyişle 5 değeri soldaki + işlecine mi yoksa sağdaki * işlecine mi bağlıdır? Burada işleçlerin sırası önemlidir çünkü sonucu değiştirir:

  • İlk olarak toplama işlemini yapılırsa toplama sonucu (4+5), * işlecinin soltarafındaki işleneni oluşturur ve tüm ifadenin sonucu 9*2 yani 18 olur.
  • İlk olarak çarpma işlemini yapılırsa çarpım sonucu (5*2), + işlecinin sağ tarafındaki işleneni oluşturur ve tüm ifadenin sonucu 4+10 yani 14 olur.


İşlem öncelik sırası yukarıdaki tabloda en yüksekten en düşüğe doğru sıralanmıştır.

Birleşim Özelliği

Programlamada çarpma işlemi, bölme işlemi ve mod hesaplama(%) işlemleri kendi aralarında eşit önceliklere sahip olmakla birlikte toplama ve çıkarma işlemlerine göre önceliklidir. Toplama ve çıkarma işlemleri de kendi aralarında eşit önceliklere sahiptir.

Parantezler ise çarpma, bölme, toplama ve çıkarma işlemlerine göre önceliklidir. O zaman daha önce yapılması istenen işlemler parantez içerisine alınmalıdır.
( ) parantez, { } küme parantezi, [ ] köşeli parantez olarak adlandırılır.

ÖNEMLİ: Kendi aralarında eşit önceliklere sahip işleçlerde işlemler, soldan başlanarak sağa doğru yapılır. Buna birleşim özelliği adı verilir.
Örnek:
7 * 2 + 5 – 3 * 2 / 6=?
Yukarıdaki ifade de önce 7*2 işleminin sonucu hesaplanır ve 14 bulunur. Daha sonra  3*2/6 ifadesi soldan itibaren hesaplanarak 6/6=1 bulunur. Artık ifade şu şekildedir:
14 + 5 – 1
Yine soldan itibaren işlemler gerçekleştirilir ve sonuç 18 olarak bulunur. Konsol uygulaması ve sonucunu Resim 4.1’de görülebilir.

Birleşim ve Atama Operatörü

Programlama dilinde eşittir işareti ( = ) bir işleçtir. Tüm işleçler, işlenenlerine bağlı olarak bir değer döndürür. Atama işleci (= )’de farklı değildir. İki işlenen alır, sağ tarafındaki işlenen değerlendirilir ve daha sonra sol taraftaki işlenende depolanır. Atama işlecinin değeri, sol işlenene atanmış olan değerdir. Aşağıdaki atama ifadesinde, atama işleci tarafından döndürülen değer 20’dir. Aynı zaman da yas değişkenine atanan değerdir.

int yas;
yas = 20; // atama ifadesinin değeri 20

Atama işleci bir değer döndürdüğünden, atama ifadesinin başka bir oluşumunda da
aynı değer kullanılabilir:

int yas1;
int yas2;
int yas3;
int yas4;
yas1 = yas2 = yas3 = yas4 = 20;

Bu örnekte atama ifadesi, her iki değişkene de aynı değeri atar. Bu oldukça kullanışlı bir yöntemdir. Bu ifadeden, atama işlecinin sağdan sola doğru birleşim özelliğine sahip olduğu çıkarılabilir. İlk olarak sağ taraftaki atama gerçekleşir ve atanan değer sağdan sola doğru değişkenler boyunca yayılır. Herhangi bir değişken daha önce bir değere sahipse atanan yeni değer üzerine yazdırılır.

Artırma ve Azaltma Operatörleri

Bir değişkene 1 eklemek istenirse + işleci kullanılabilir:

sayac = sayac +1;

Bununla birlikte, bir değişkeni 1 artırmak oldukça yaygındır. Sadece bu amaç için ayrı bir işleç olan ++ işleci de kullanılabilir. “sayac” değişkenini 1 artırmak için aşağıdaki ifade kullanılabilir:

sayac++;

Benzer şekilde bir değişkenden 1 azaltmak için – işleci de kullanılabilir.

sayac--;

Bu işleçler, değişkenden önce ve sonra kullanılabilir.

sayac++; //sonek artırma
++sayac; //önek artırma
sayac--; //sonek azaltma
--sayac; //önek azaltma

İşleçlerin değişkenden önce ve sonra kullanılması sonucu değiştirmez. Her durumda değişkenin değeri 1 artırılır ya da 1 azaltılır ama işlem öncelik sırasından kaynaklanan farklılıklar doğabilir. Örnekle şöyle açıklanır:

int a;
a = 20;
Console.WriteLine(a++); // a’nın son değeri 21 olmasına karşı ekrana 20 yazılır.
a = 20;
Console.WriteLine(++a); // a’nın son değeri 21’dir ve ekrana 21 yazılır.

“var” Değişken Türü

Programlama dilinde değişken tanımlanırken değişkenin adının ve veri türünün belirtilmesi gerektiğini görmüştür. Aşağıdaki örnekte olduğu gibi

int yas;

Ayrıca değişken tanımlanırken bir başlangıç değeri atanabileceği de belirtilmişti.

int yas = 20;

Hatta herhangi bir işlem yaparak bir değişken aşağıdaki gibi de tanımlanabilir:

int yas = fark*10;

Bir değişkene atanan değerin, değişken ile aynı veri türünde olması gerektiği bilgisi hatırlanmalıdır. Örneğin, int türünde bir değişkene sadece int türü değer atanabilir.

Derleyici, bir değişkene başlangıç değeri atamak için kullanılan ifadenin türünü hızlı bir şekilde ortaya çıkarabilir ve değişkenin türü ile aynı değillerse geri bildirebilir. Ayrıca, derleyiciden bir ifadedeki değişkenin türünü bulması ve aşağıdaki gibi tür yerine var anahtar sözcüğünü kullanılarak değişken bildirildiğinde, bulduğu türü kullanması istenebilir:

var fiyat = 100;
var soyad = “Yılmaz”;

fiyat ve soyad değişkenleri, kapalı türde değişkenler olarak adlandırılır. “var” anahtar sözcüğü, derleyicinin değişkenlerin türünü, değişkene başlangıç değeri atamak için kullanılan ifadeden çıkarmasını sağlar. Bu tarz bir kullanımda, değişkene mutlaka başlangıç değeri atanması gerekir. Aşağıdaki gibi bir kullanım hatalıdır ve derleme hatasına neden olur.

var fiyat;

Ayrıca bu bir kolaylıktır ve değişken bildirildikten sonra değişkene sadece derleyicinin ortaya çıkardığı değer atanabilir. Yani fiyat değişkeni int türünde bir değişkendir ve float, double ya da string değerler atanamaz.

Kaynak: NESNE TABANLI PROGRAMLAMAYA GİRİŞ 482BK0168

Etiketler:

Yorum Bırak

Your email address will not be published. Required fields are marked *