C# Yazım Kuralları - afguven.com · ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 3...

Preview:

Citation preview

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

1FEHİM KÖYLÜ13.02.2008

C# Yazım Kuralları

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

2FEHİM KÖYLÜ13.02.2008

İçindekiler

• C# Yazım Kuralları• Veritipleri• Değişkenler• Operatörler• Sınıflar• Nesneler, Özellik, Metot ve Olay• Bileşenler

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

3FEHİM KÖYLÜ13.02.2008

C# yazım kuralları

• Deyimlerde büyük küçük harf yazıma uyulmalı

• Her deyimin sonuna noktalı virgül konulmalı.• Açılan her parantez { bitiş işareti ile }

kapatılmalı• Kodlar arasında tek satırlık açıklama bilgileri

için // işareti kullanılır. • Kullanılan kütüphaneler using deyimi ile

kodun başına eklenmeli

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

4FEHİM KÖYLÜ13.02.2008

C# program kodu iskeletiAçıklama satırıKullanılan kütüphane

İsim uzayı tanımlamasıSınıf tanımlaması

Yapı tanımlaması

Arayüz tanımlaması

Delege metot tanımlaması

enum tanımlaması

İç isim uzayı tanımlaması

Yapı tanımlaması

Ana Sınıf tanımlaması

Program başlangıç metodu

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

5FEHİM KÖYLÜ13.02.2008

Keywords

• Bu kelimeler değişken, sınıf, nesne ismi olarak kullanılamaz.

thisobjectstructTrythrowdefaultelseforeachİsForusingoperatorlongshortstringnewtruefalseintifforwhilevoidvaluestaticdoublefixedGotodelegatecontinuecheckedCharcatchCasebytebreakboolbaseasabstractprotectedprivatepublicnotclass

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

6FEHİM KÖYLÜ13.02.2008

Operatörler

int Sayi1=50; int Sayi2= 100;Sayi1--; // Sayi1’in değeri 50-1 = 49

Değeri bir azalt--

Sayi2++; // Sayi2’nin değeri 100+1= 101Değeri bir artır++

ÖrnekGöreviOp.

sayi2>=100 // sayi3 150’ye eşit yada küçükse sonuç doğruMantıksal büyük eşittir>=

sayi3<=150 // sayi3 150’ye eşit yada küçükse sonuç doğruMantıksal küçük eşittir.<=

sayi2==100 // sonuç doğru(true) sayi2 100e eşitMantıksal eşittir.==

sayi2>sayi3 // sonuç yanlış(false) 100>150 yanlışMantıksal büyüktür>

sayi2<sayi3 //sonuç doğru(true) 100<150 dir.Mantıksal küçüktür<

sayi1=sayi2*5; // sayi1 sonuç 5*100=500sayi1= sayi2 / 5; //sayi1 sonuç 100/5=20

Aritmetik çarpma, bölme* /

int sayi1,sayi2,sayi3;sayi2=100;sayi3=150;sayi1=sayi3-sayi2; //sayi1 sonuç 50

Aritmetik çıkarma, toplama-, +

int sayi = 1;Atama operatörü=

MessageBox.Show()Nesnelerin alt üyeleri.

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

7FEHİM KÖYLÜ13.02.2008

OperatörlerA = (3+8)*5 // Anın değeri 11*5 sonuç 55Parantez gruplama( )

ÖrnekGöreviOp.

int a=3; a= a |1; // 11 OR 01 = 11 sonuç A’nın yeni değeri 3Lojik or|

int a=3; a= a &1; // 11 AND 01 = 01 sonuç A’nın yeni değeri 1Lojik and&

int a=3; a= a ^1; // 11 XOR 01 = 10 sonuç A’nın yeni değeri 2Lojik Xor^

Icon simge = new Icon("c:\\Book.ico");Sınıftan türeyen yeni nesne operatörü

new

A *=3; // A’nın yeni değeri 10 * 3 xÇarparak atama* =

A- =1; // A’nın yeni değeri 10-1 sonuç 9Çıkartarak atama- =

int A=10;A +=5; // A’nın yeni değeri 10+5 sonuç 15

Toplayarak atama+=

A= 5 % 2; // 5’in 2’ye bölümünden kalan 1Bölmede kalan %

(A==10)||(B==20) // A 10’a eşit VEYA B 20’ye eşit ise doğruŞart VEYA(OR)||

(A==10)&&(B==20) // A 10’a eşit VE B 20’ye eşit ise doğruŞart VE(AND)&&

(a!=100) //a değişkeni 100’e eşit DEĞİLSE sonuç doğruMantıksal değil!

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

8FEHİM KÖYLÜ13.02.2008

Operatör Öncelik Sırası

Değer atamaSağdan sola= 6

Eşittir eşitdeğildirSoldan sağa== !=5

Küçüktür büyüktür karşılaştırmaSoldan sağa< > <= >=4

Toplama çıkarmaSoldan sağa + -3

2

1

Öncelik

Çarpma, bölme, kalanSoldan sağa* / %

ParantezSoldan sağa( )

Türüİşleyiş sırasıOperatör

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

9FEHİM KÖYLÜ13.02.2008

Temel Veritipleri

• C#’da herşey sınıflardan meydana gelmektedir. Sadece temel değer veritipleri için değişken tanımlamak mümkündür.

• Örnek:

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

10FEHİM KÖYLÜ13.02.2008

Temel Veri tipleri tamsayı

0 1019

10-17 1017

0 4294967295

-2147483648 2147483647

0 65535

-32768 32767

-128 127

0, 255

true, false

Değer Aralığı

ulong a=1;8 byteişaretsiz tamsayıulong

long a=10000000;8 byteTamsayılong

uint a=4000000000;4 byteİşaretsiz tamsayıuint

int a=2000000000;4 byteTamsayıint

Ushort sayi = 65000;2 byteİşaretsiz tamsayıushort

Short sayi=32000;2 byteTamsayıshort

sbyte sayi=-128;1 byteİşaretli tamsayısbyte

byte sayi = 5 ;1 byteTamsayıbyte

bool cinsiyet;1 byteMantık değeribool

KullanımıBoyutuAnlamıVeritipi

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

11FEHİM KÖYLÜ13.02.2008

Temel Veri tipleri Reel

7 hane

15-16 hane

28-29 hane

Duyarlılık(Virgülden sonra)

±1.5 × 10−45

±3.4 × 1038

±5.0 × 10−324

±1.7 × 10308

1e-28 7.9e28

Değer Aralığı

float x = 3.5F;reel sayıfloat

double pi = 3.14;reel sayıdouble

decimal ucret = 300.5m;para hesaplamaları

decimal

KullanımıAnlamıVeritipi

0

Double değer aralığı+5e-324-5e-324-1.7e308 1.7e308

0

Float değer aralığı1.5e-45-1.5e-45-3.4e38 3.4e38

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

12FEHİM KÖYLÜ13.02.2008

Temel Veri tipleri diğer

string isim= “Fehim”;yazıstring

char tus = ‘a’;tek karakterchar

KullanımıAnlamıVeritipi

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

13FEHİM KÖYLÜ13.02.2008

Değişkenler

• Değişken isimlerini belirlerken bazınoktalara dikkat etmek gerekir.

• Boşluk, nokta, soru işareti, noktalıvirgül, çift tırnak, tek tırnak, aritmetik operatörler, karşılaştırma ve atama operatörleri, parantezler değişken isimlendirmede kullanılamaz.

• İsimler sayı ile başlayamaz.

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

14FEHİM KÖYLÜ13.02.2008

Değişken tanımlama

• Tip değişken_ismi;

• Örnek:int sayi;char karakter;string ogrencininAdi;decimal urununBedeli;float pi;

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

15FEHİM KÖYLÜ13.02.2008

İlk değer atama

• İlk değer atama değişken tanımlamasının hemen ardından yapılabilir.int sayi =5;char tus=‘a’;float pi = 3.14F;double x = 2.000000001234567;

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

16FEHİM KÖYLÜ13.02.2008

Değişkenlerin kapsama alanı

• Değişkenler tanımlandığıblok içinde ve alt bloklarda geçerlidir.

using System;using System.Windows.Forms;

// 20 rasgele sayı hesaplar ve gösterir class RandomInt{// programın main prosedürüstatic void Main( string[] args ){

int sayi;string yazi= "";

Random randomInteger = new Random();

// 20 kez tekrarlafor ( int i = 1; i <= 20; i++ ) {

// 1 ile 6 arası rasgele sayı atasayi = randomInteger.Next( 1, 7 );yazi += sayi+ " "; // yaziya ekle

// eğer sayaç 5’e bölünebiliyorsa yazıya bir alt satır ekleif ( i % 5 == 0 )

yazi += "\n";

} // for bitişi

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

17FEHİM KÖYLÜ13.02.2008

Kontrol Deyimleri

• Bir programı sadece hesap yapmaktan kurtararak duruma bağlı olarak farklıgörevler icra etmesini sağlayan mantık operatorleri ile kullanılan kontrol deyimleridir.

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

18FEHİM KÖYLÜ13.02.2008

if kontrol deyimi

if (şart) ifadeelse ifade;

true ya da false cevabıverecek bir ifade şartın

sağlandığıdurumda icra edilecek komut

şartın sağlanmadığıdurumda icra edilecek komut

if (notu>50) MessageBox.show(“geçer”) else MessageBox.show(“sınıfta kalır”)

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

19FEHİM KÖYLÜ13.02.2008

if kontrol deyimiif (şart){ifade;ifade; ….}else { ifade; …}

şart doğruysa icra edilecek deyimler

şart doğru değilse icra edilecek deyimler

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

20FEHİM KÖYLÜ13.02.2008

if else if kontrol deyimiif (şart1){ifade;ifade; ….} else if(şart2) { ifade; ifade; …} else if(şart3) { ifade; …}…else

ifade;

Şart1 doğruysa icra edilecek deyimler

Şart2 doğru ise icra edilecek deyimler

Şart3 doğru ise icra edilecek deyimler

Yukardaki hiçbir şart doğru değilse icra edilecek deyimler

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

21FEHİM KÖYLÜ13.02.2008

if örneği

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

22FEHİM KÖYLÜ13.02.2008

switch kontrol deyimi• C#’da if ’den sonra ikinci seçme ifadesi switch

deyimidir.• Çok yollu dallanma sağlar. Böylece birkaç alternatif

arasından seçim yapma imkanı sağlar.• Bir önceki örnekte if ifadeleri ile çok yollu bir test

gerçekleştirilmişti. • switch başlangıcı içindeki deyim bir tamsayı

tipinde(char,byte,short,int) yada string tipinde olmalıdır.

• switch ifadeleri iç içe, veya başka kontrol ve döngüifadeleri içinde kullanılabilir.

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

23FEHİM KÖYLÜ13.02.2008

switch kontrol deyimiswitch(deyim){

case sabit1:ifade;ifade;….break;

case sabit2:ifade;ifade; ….break;

….default:

ifade;ifade; ….break;

}

deyim sabit1’e eşitse icra et

deyim sabit2’e eşitse icra et

deyim hiçbirine de uymadıysa icra et

.

.

.

switch başlangıç ifadesi

switch bloğu bitiş

E

E

E

H

H

son

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

24FEHİM KÖYLÜ13.02.2008

switch örneği

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

25FEHİM KÖYLÜ13.02.2008

for döngüsü

• komutları belirli sayıda tekrar etmek istediğimiz durumlarda forkullanabiliriz.

• for, başlangıç ataması yapılarak, belirlenen şart sağlanıncaya kadar artışı icra edip deyimi yürütür.

for(başlangıç; şart; artış) deyim;

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

26FEHİM KÖYLÜ13.02.2008

for döngüsü

for(başlangıç; şart; artış){ deyim;deyim;...

}

for(int i = 1 ; i<=10; i++) toplam+=4;

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

27FEHİM KÖYLÜ13.02.2008

for örneği

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

28FEHİM KÖYLÜ13.02.2008

for örneği faktöryel hesabı

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

29FEHİM KÖYLÜ13.02.2008

for örneği birden fazla kontrol değişkeni

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

30FEHİM KÖYLÜ13.02.2008

for ve if örneği

TextChanged olayıTextBox içindeki yazıdeğiştiğinde tetiklenir.

sayi1, sayi2 Değişkenlerinin

Kapsama Alanı

Değişken tanımlaması

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

31FEHİM KÖYLÜ13.02.2008

Akış Şemasısayi1=100;sayi2=110;

i=sayi1; //100

i<sayi2//110

i++;

BLOK

SONH

E

BLOK:

i mod 3==0

i mod 3==1

listbox1.item.add(i);

listbox2.item.add(i);

listbox3.item.add(i);i mod 3==2

BLOK SONU

E

E

E

H

H

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

32FEHİM KÖYLÜ13.02.2008

while döngüsü

while(şart) deyim;

while(şart){deyim;deyim;…

}

C#’daki ikinci döngü while döngüsüdür.deyim, şart doğru olduğu müddetçe defalarca icra edilecektir.while döngüsünde;Önce şartın kontrolü yapılmakta ve sonra gelen kodlar icra edilir. Yazım biçimi:

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

33FEHİM KÖYLÜ13.02.2008

while örneği

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

34FEHİM KÖYLÜ13.02.2008

while örneği

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

35FEHİM KÖYLÜ13.02.2008

do while döngüsü

• C#’ta üçüncü tür döngü do-whiledöngüsüdür.

• while döngüsünden farkı önce kodlar icra edilmekte sonra şart kontrol edilerek tekrarlamanın yapılıp yapılmayacağı karar verilmektedir.

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

36FEHİM KÖYLÜ13.02.2008

do while döngüsü

• Kullanılışı:

do{deyimler; …

}while (şart)

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

37FEHİM KÖYLÜ13.02.2008

do while örneği

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

38FEHİM KÖYLÜ13.02.2008

Döngülerde kullanılan ifadeler• break: Devam eden

bir döngüyüsonlandırmak için kullanılır. Şart sağlansa da sağlanmasa da bu kodun icra edilmesi ile döngüden sonraki kısımdan yürütülmeye devam edilir.

• continue: Bir döngünün normal tekrarını atlatarak bir sonraki adıma geçmesini sağlar.

• Bu deyimin icra edilmesi ile bir sonraki iterasyondöngünün başından itibaren icra edilecektir.

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

39FEHİM KÖYLÜ13.02.2008

break örneği – orijinal kod

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

40FEHİM KÖYLÜ13.02.2008

break örneği

50’den sonrasını yazmadı! Neden?

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

41FEHİM KÖYLÜ13.02.2008

break deyimi

//

i 50’ye eşit ise dur satırını yazmadığımızda aşağıdaki kod durdurulmayan döngütekrarı yapacak dolayısıyla program hafıza taşmasına neden olacakhata verecektir.

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

42FEHİM KÖYLÜ13.02.2008

continue örneği

i’nin 3’e bölümünden kalan 0 ise bu iterasyonu atla, bir sonraki iterasyondandevam et.

3’e tam bölünen sayılar yazdırılmadı! Neden ?

ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II

43FEHİM KÖYLÜ13.02.2008

Ödev 1

• Ödev bir sonraki hafta(27.02.08) dersten önce kontrol edilecektir. Ödevin çalışır haldeki exedosyası ders sayfasından indirilebilir.

Recommended