c# programlama dili¶lüm_2.pdfc# programlama dili 1 İlk programımız tür dönüşümü yorum...

33
C# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler

Upload: others

Post on 30-Dec-2019

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

C# Programlama Dili

1

İlk programımız

Tür dönüşümü

Yorum ekleme

Operatörler

Page 2: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

İlk Programımız

Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra da programımızı çalıştırmak için komut satırında kod dosyanıza verdiğiniz adı girip enter’a basın.

2

Page 3: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

İlk programımızın satır satır

incelenmesi class ilkprogram satırıyla ilkprogram adında yeni bir sınıf

oluştururuz. C#'ta yazdığımız her programın en az bir sınıf içermesi zorunludur.

{ veya } işaretleri herhangi bir sınıfın veya metodun içeriğini belirtmek için kullanılır. İlk { karakteriyle önceki satırda açtığımız ilkprogram adlı sınıfımızın içeriğine alınacak kodların başladığını, programın son satırındaki } karakteriyle de sınıfımızın içeriğine alınacak kodların sona erdiğini belirtiyoruz.

static void Main() satırıyla sınıfımızın içine Main adlı bir metot yerleştirdik. Bu metodun adı mutlaka Main olmalı, yoksa programımız çalışmaz. Ayrıca bu metot mutlaka oluşturduğumuz sınıfın içinde olmalı. Yine { ve } karakterleriyle metodumuzun içeriğini belirledik. Dikkat ettiyseniz bir iç içe { ve } karakterleri söz konusu. Bu durumda koyulan ilk } karakteri son açılan { karakterini kapatır.

3

Page 4: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

İlk programımızın satır satır

incelenmesi Programımızın pratikte iş yapan tek kısmı ise System.Console.WriteLine("Merhaba dünya!"); satırı. Bu satırla ekrana Merhaba dünya! yazdırdık, peki nasıl yaptık? Bunun için .Net Framework kütüphanesindeki hazır bir metottan yararlandık. Bu metot System isim alanının altındaki Console sınıfında bulunuyor. Ve bu metodumuzun adı WriteLine ve konsol ekranına yazı yazdırmaya yarıyor. Parantezler arasındaki çift tırnaklar arasına alınan metni ekrana yazdırıyor. Satırın sonundaki ; karakterini ise { ve } karakterleri açıp kapatmayan bütün C# satırlarında kullanmamız gerekiyor.

4

Page 5: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Programımızın ikinci versiyonu

Bu programımız önce ekrana Entera basın! yazar. Kullanıcı enterabastığında da Entera bastınız! yazıp kendini kapatır. Console sınıfına ait olan ReadLine metodu programımızın kullanıcıdan bilgi girişi için beklemesini sağlar, yani programımızı entera basılana kadar bekletir. Kullanıcı entera bastığında da diğer satıra geçilir. Dikkat ettiyseniz ReadLinemetodunda parantezlerin arasına hiçbir şey yazmıyoruz. C#'ta bazı metotların parantezleri arasına birşeyler yazmamız gerekirken, bazı metotlarda da hiçbir şey yazılmaması gerekir.

5

Page 6: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Tür dönüşümü

Modern programlamada birçok kez değişkenlerde tür dönüşümüne ihtiyaç duyulur.

Örneğin string türündeki sayılarla ("5" veya "2" gibi) matematiksel işlem yapmamız gerektiğinde tür dönüşümü yapmamız gerekir.

Aslında bahsettiğimiz tam olarak tür dönüşümü değildir, sadece bir değişkenin değişik türdeki hâlinin başka bir değişkene atanmasıdır.

Tür dönüşümleri bilinçli tür dönüşümü ve bilinçsiz tür dönüşümü olmak üzere ikiye ayrılır.

6

Page 7: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bilinçsiz tür dönüşümü

C#'ta düşük kapasiteli bir değişken, sabit

ya da değişken ve sabitlerden oluşan

matematiksel ifade daha yüksek kapasiteli

bir değişkene atanabilir.

Buna bilinçsiz tür dönüşümü denir, bunun

için herhangi bir özel kod gerekmez.

7

Page 8: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bilinçsiz tür dönüşümü

8

Page 9: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bilinçsiz tür dönüşümü

yapılacabilecekler tablosu

9

Page 10: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bilinçli Tür Dönüşümü

Bilinçli tür dönüşümü genellikle

derleyicinin izin vermediği durumlarda

kullanılır.

Bilinçli tür dönüşümüyle küçük türün

büyük türe dönüştürülmesi sağlanabilse

de aslında bu gereksizdir, çünkü aynı şeyi

bilinçsiz tür dönüşümüyle de yapabiliriz.

10

Page 11: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bilinçli Tür Dönüşümü

Programımızda da görebileceğiniz gibi (byte)a ifadesi, a değişkeninin byte hâlini tuttu.

11

Page 12: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bilinçli Tür Dönüşümü

Aşağıdaki şekil bilinçli tür dönüşümünü anlatmaktadır.

Eğer değişken adı kısmında tek bir değişken yoksa, bir ifade varsa parantez içine alınması gerekir.

Bu şekilde tür dönüşümü değişkenlere uygulanabildiği gibi sabitlere de uygulanabilir:

12

Page 13: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bilinçli Tür Dönüşümü

Reel türler tam sayı türlere dönüşürken ondalık kısım atılır.

Bilinçsiz tür dönüşümüyle yalnızca küçük türler büyük türlere dönüşebiliyordu, yani veri kaybı olması imkansızdı.

Halbuki bilinçli tür dönüşümünde veri kaybı gerçekleşebilir.

Eğer dönüşümünü yaptığımız değişkenin tuttuğu değer dönüştürülecek türün kapasitesinden büyükse veri kaybı gerçekleşir.

13

Page 14: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bilinçli Tür Dönüşümü

14

Page 15: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Yorum ekleme

Yorumlar, programa etki etmeyen ancak

kendimizin veya kodu inceleyen bir

başkasının nerede ne yapıldığını anlamasını

sağlayacak yazılardır.

Yorumlar tek satırlık ve çok satırlık olmak

üzere ikiye ayrılır.

15

Page 16: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Tek satırlık yorumlar

C#, iki tane slash'ten (//) sonra gelen aynı

satırdaki yazıları yorum sayar. Örnek:

16

Page 17: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Çok satırlık yorumlar

C#, /* ve */ arasına yazılan herşeyi yorum sayar.

Dolayısıyla da çok satırlık yorumlar yazılabilir.

Örnek:

17

Page 18: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Yorum ekleme

Ayrıca C#'ın bu yorum özelliği

programımızda henüz çalışmasını

istemediğimiz kodlar varsa yararlı

olabilmektedir.

18

Page 19: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Operatörler

Programlama dillerinde tek başlarına herhangi bir anlamı olmayan ancak programın işleyişine katkıda bulunan karakter ya da karakter topluluklarına operatör denir.

Örneğin a+b ifadesinde + işareti bir operatördür. Operatörlerin etki ettikleri sabit ya da değişkenlere ise operand denir.

Örneğin a+b ifadesinde a ve b birer operanddır. C#'ta operatörlerın bazıları tek, bazıları çift, bazıları da üç operand alır.

19

Page 20: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Operatörler

Peki eğer bir ifadede birden fazla operatör varsa ne olacak?

Örneğin 2+3*7 gibi bir ifadede önce hangi işlem yapılacak?

Burada önce toplama işlemi yapılırsa sonuç 35 olur, ancak önce çarpma işlemi yapılırsa sonuç 23 olur.

İşte C#'ta bu gibi durumları önlemek için operatör önceliği diye kavram bulunmaktadır.

20

Page 21: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Operatörler

Operatör öncelikleri ile ilgili şu kuralları bilmenizde fayda var:

Önce parantez içleri yapılır. Örneğin (3+5)*9 gibi bir ifadede önce toplama işlemi yapılır.

İç içe parantezler söz konusuysa önce en içteki parantez yapılır, sıra ile dıştaki parantezlere gidilir.

Örneğin (2+(9+2)*5)*2 gibi bir ifadede önce 9 ile 2 toplanıp 11 değeri bulur, sonra 11 ile 5 çarpılıp 55 değeri bulunur, sonra 55 ile 2 toplanıp 57 değeri bulunur, en son da 57 ile 2 çarpılıp 114 değeri bulunur.

21

Page 22: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Operatörler

İfadede bir parantez yoksa önce öncelik sırası daha önde olan operatörün işlemi yapılır.

Aşağıdaki tabloda operatörler öncelik sırasına göre listelenmiştir.

Tablo, öncelik sırası en önde olandan en geride olana göre sıralanmıştır. Yani aynı ifadede parantez söz konusu değilse bu tablodaki daha üstte olan operatör daha önce işletilecektir.

22

Page 23: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Operatörler

23

Page 24: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bir artırma ve bir eksiltme

operatörleri

24

Önce a'nın değeri 1 artırılır, sonra bu değer i'ye atanır.

Önce a'nın değeri i'ye atanır, sonra a'nın değeri 1 artırılır.

Page 25: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Karşılaştırma operatörleri

25

Bu program ekrana alt alta True, True, True, False, False ve True yazacaktır.

Page 26: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

as operatörü

Tüm değişken türlerinden objecte ve string değerli

olmak şartıyla objectten stringe dönüşüm yapar. Örnek:

26

Page 27: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

is operatörü

Verilen değişken, sabit ya da ifadenin türünü

kontrol eder. Eğer söz konusu değişken, sabit ya

da ifade verilen türle uyumluysa true değilse

false değeri üretir. Eğer söz konusu değişken,

sabit ya da ifadenin türü her zaman true ya da

false üretiliyorsa derleyici uyarı verir, ancak bu

uyarı derlemeye engel değildir. Kullanımına bir

örnek:

27

Page 28: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

is operatörü

28

Bu program alt alta True, False, False, False ve False yazacaktır. Dikkat ettiyseniz 12 sabitini byte saymadı ve 12f+7 sabitini de int saymadı. Çünkü C#, harfsiz tam sayı sabitleri int sayar. 12f+7 sabiti de floatlaşmıştır.

Page 29: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Mantıksal operatörler

Bu operatörler true veya false sabit ya da değişkenleri mantıksal ve, veya,

değil işlemine sokarlar. Bunlar && (ve), || (veya) ve ! (değil) operatörleridir.

Örnekler:

29

Eğer ! operatöründen sonra bir değişken ya da sabit yerine bir ifade geliyorsa ifadeyi parantez içine almak zorundayız.

Page 30: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bitsel operatörler

Bitsel operatörler sayıların kendisi yerine sayıların bitleriyle ilgilenirler.

Diğer bir deyişle sayıları ikilik sisteme dönüştürüp öyle işlem yaparlar.

Bu operatörler yalnızca tam sayı sabit, değişken ya da ifadelerle kullanılabilirler.

Eğer bitsel operatörler bool türünden değişken, sabit ya da ifadelerle kullanılırsa mantıksal operatörlerin gördüğü işin aynısını görürler

30

Page 31: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bitsel operatörler

~ (bitsel değil), & (bitsel ve), | (bitsel veya) ve ^ (bitsel özel veya)

operatörleri bitsel operatörlerdir. Örnekler:

31

Page 32: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

Bitsel kaydırma operatörleri

Bu operatörler (<< ve >>) sayıların bitlerini istenildiği kadar kaydırmak için

kullanılır. << sayıları sola kaydırırken, >> sağa kaydırır. Örnekler:

32

Page 33: C# Programlama Dili¶lüm_2.pdfC# Programlama Dili 1 İlk programımız Tür dönüşümü Yorum ekleme Operatörler İlk Programımız Bu program konsol ekranına Merhaba dünya!

?: operatörü

?: operatörü C#'ta üç operand alan tek operatördür. Verilen koşula

göre verilen değerlerden (object türünden) birini tutar. Kullanımı

şöyledir:

◦ koşul?doğruysa_değer:yanlışsa_değer

33