1 Değerler ve Değişkenler Values & Variables
Jan 14, 2016
1
Değerler ve Değişkenler
Values & Variables
2
Değişkenlerin Özellikleri
Tipi olmalıdır Veri içerirler Küçük – Büyük harf ayrımı vardır Değişken isimleri rakamla
başlamaz, rezerve edilmiş kelimeler olamaz
3
Anahtar Kelimeler (Keywords)
4
Değişken Tanımı
int x = 3;
Tip
Değişken
Değer
İfade sonu
5
Değişken Tanımı
int nTamsayi;
string sYazi; int nTamsayi = 42;string sYazi = “Bu bir satır!";
int nTamsayi;string sYazi;... nTamsayi = 42;
sYazi = " Bu bir satır!";
6
Değer atama zorunluluğu
string sDegersiz;MessageBox.Show(sDegersiz, “merhaba!",
MessageBoxButtons.OK);
HATA!
7
Değişken Tipleri (Types)
Temel Tipler Tamsayılar Kayar nokta sayıları Karakterler Karakter Dizeleri Tarihler
8
Tamsayılar (Integers)
short 2 bytes (–32,768 <-> 32,767) short sval = -12;
ushort 2 bytes (0 <-> 65,535) ushort sval= 12;
int 4 bytes (–2,147,483,647 <-> 2,147,483,647)
int nval = -12500; uint 4 bytes (0 <-> 4,294,967,295)
uint nval = 12500; long 8 bytes
long lVal = -548444101; ulong 8 bytes
Ulong lVal = 548444101
9
Kayar nokta sayıları(Floating Point Numbers)
float 4 bytes float fVal = -1,2;
double 8 bytes double dVal = -3.565;
decimal 8 bytes decimal dVal = -3456.343;
10
İfadeler (Expressions)
İfadeler değişkenler üzerinde işlem yapmaya yarar.
Bilinen tipte değer döndürürler. İki tip ifade vardır
Operatörler Fonksiyonlar
11
Aritmetik ifadeler Birden fazla değişkene ihtiyaçları
vardır. Matematiksel işlem yaparlar
+ (Toplama operatörü) - (Çıkartma operatörü) * (Çarpma operatörü) / (Bölme operatörü) % (Modülo operatörü) ….
12
Aritmetik ifadeler Kısaltmalar
int m = 5;int n = 4;
m = m + n; eşittir m += n;
Yani her iki işlemin sonucunda da m 9 değerini alırken n ’nin değeri değişmez.
13
Tekli işleçler Tek değişken üzerinde işlem
yaparlar ++ arttırma işleci
i++; i = i + 1; demektir. -- azaltma işleci
i --; i = i - 1; demektir. Değişkenin önünde veya arkasında
olmasına göre farklı sonuçlar verir. Yani “i++” ile “++i” aynı değildir.
14
Arttırma ve Eksiltme İşlemleri ++k k'yı 1 arttırır ve ++k'yı kullanan
deyime yeni değeri döndürür. k++ k'nın o andaki değeri kullanılır ve
kullanıldıktan sonra değeri bir arttırılır. --k k'yı bir azaltır ve azaltılan değer –k
ifadesini bulunduran deyimde kullanılır. k-- k'nın o andaki değeri kullanılır
sonra k bir azaltılır.
15
Örnekint k=0, m;int k=0, m;
m = ++k;m = ++k;
m m ' nin değeri 1 vek k ' nin değeri de 1 olur
int k=0, m;int k=0, m;
m = k++;m = k++;
m m ' nin değeri 0 vekk ' nin değeri 1 olur.
int k=5, m, n=2;int k=5, m, n=2;
m = --k + n;m = --k + n;
m m ' nin değeri 6 vek k ' nin değeri de 4 olur
int k=0, m, n=7;int k=0, m, n=7;
m = k++ + --n;m = k++ + --n;
m m ' nin değeri 6 vekk ' nin değeri 1 ven ' nin değeri 6 olur.
16
Alıştırma
Aşağıdaki program sonucunda, değişkenlerin değerleri ne olur?
int i, j, k;int i, j, k;
i = 2;i = 2;j = 3 + i++; j = 3 + i++; k = 3 + ++i; k = 3 + ++i; i *= ++k + j--; i *= ++k + j--; i /= k-- + ++j; i /= k-- + ++j;
17
Alıştırma Devam Şıkların birbirlerini etkilemediği
düşünülürse her bir satırdan sonra m değişkeninin değeri ne olur?
int i = 0, j = 6, k = 4 , m = 5;int i = 0, j = 6, k = 4 , m = 5;
•m = k-- + ++i; m = k-- + ++i; •m *= j % 4;m *= j % 4;•m += k++ + (j-- * ++i);m += k++ + (j-- * ++i);
18
İşlem Sırası Bir ifade içindeki işlemlerin yapılış
sırasında "İşlem Sırası" adı verilir.
C# dilinde (ya da diğer dillerde) bazı operatörlerin işlem öncelikleri vardır.
Verilen bir ifadede sonucun ne olduğu bilmek için işlem önceliklerinin bilinmesi gereklidir.
19
Örnek PÜBÇEÇ kuralını kullanarak öncelikleri
belirleyebilirsiniz.
P P ParantezParantezÜ Ü ÜstelÜstelBB BölmeBölmeÇÇ Çarpma Çarpma EE EklemeEklemeÇÇ ÇıkartmaÇıkartma
P P ParantezParantezÜ Ü ÜstelÜstelBB BölmeBölmeÇÇ Çarpma Çarpma EE EklemeEklemeÇÇ ÇıkartmaÇıkartma
1 + 2 * 3 - 4 / 5 = ?1 + 2 * 3 - 4 / 5 = ?1 + 2 * 3 - 4 / 5 = ?1 + 2 * 3 - 4 / 5 = ?
1 + (2 * 3) – (4 / 5)1 + (2 * 3) – (4 / 5)1 + (2 * 3) – (4 / 5)1 + (2 * 3) – (4 / 5)
6.26.26.26.2
20
Örnek (sonuç) İfadede tamsayılar kullanılırsa, bölme
işlemleri tamsayı sonucu verir (Diğer bir deyişle ondalıklı kısım yok edilir)
4/5 = 04/5 = 0 (tamsayı bölümü)(tamsayı bölümü)
4/5 = 04/5 = 0 (tamsayı bölümü)(tamsayı bölümü)
1 + (2 * 3) – (4 / 5)1 + (2 * 3) – (4 / 5)1 + (2 * 3) – (4 / 5)1 + (2 * 3) – (4 / 5)
77 77
21
Alıştırma
Farklı veri türleri aynı işlemlerle farklı sonuçlar verebilir.
Sonraki iki sayfadaki kodları yazarak programların çıktılarını görünüz.
Aradaki farkı yorumlayınız.
22
Alıştırma (devam)
23
Alıştırma (devam)
24
Karakterler
char 1 byte 0-256
'a' 'z' 'A' 'Z' '?' '@' '0' '9''a' 'z' 'A' 'Z' '?' '@' '0' '9'
Özel karakterlerÖzel karakterler “ “\”\” işareti başta konularak işareti başta konularak gösterilir.gösterilir.
'\n''\n' : alt satıra geç karakteri : alt satıra geç karakteri'\t''\t' : sekiz karakter sonraya atla : sekiz karakter sonraya atla'\'''\'' : tek tırnak : tek tırnak'\\''\\' : \ işareti (ters bölü) : \ işareti (ters bölü)ve diğerlerive diğerleri
25
Karakter Dizileri
Karakter dizileri (string) arka arkaya gelen karakterlerden oluşmuştur.
Dizenin sonlandırılmasında ‘\0’ karakteri kullanılır.
Örnek : “Merhaba!” “birinci satır\n ikinici satır \n üçüncü satır” “” Boş dizi
26
Karakter Dizileri (Devam)
Özel sınıf : “string” sınıfı Unicode – 16 bit Örnek :
string myString = “Merhaba!”; Verbatim strings
string myString = @“2.5” disket”;
27
string işlemleri
İki string’i birleştime
Sonuç : “Merhaba Dünya!”
28
string işlemleri
string içerisinde arama int IndexOf ()
Sonuç : 1
Alıştırma : int LastIndexOf() fonksiyonunu msdn’den araştırıp nasıl ve ne amaçla kullanıldığını öğreniniz.
29
string işlemleri
string’i bölmek string Substring()
Sonuç : “rha”
30
Alıştırma
Adınızı ve soyadınızı ayrı ayrı iki string içerisine yükleyiniz.
Bu iki string’i üçüncü bir string içerisine toplayınız.
Sonucu ekrana yazdırınız.
31
Tarih
Tarih işlemlerinde C# dili için özel “DateTime” sınıfı kullanılmaktadır.
DateTime sınıfı “yıl,ay,gün,saat,saniye,milisaniye ” bilgilerini tutabilir.
32
DateTime Nesnesi Oluşturma
DateTime dt = new DateTime(yıl,ay,gun);
Tip
Değişken Adı
Yeni bir nesne
Oluşturma
Başlangıç
Değerleri
33
Örnek
Yeni bir nesne oluşturuluyor
34
Sabit (Constant) Değişkenler Değerleri değiştirilemez. Tipleri vardır. İşlemlerde kullanılır ama atama
yapılamaz. Tanım ifadesinin başına “const” anahtar
kelimesi konularak oluşturulur. Değerleri tanımlama anında belirlenir,
sonradan değiştirilemez. const int nVar = 34;
35
Örnek