350 likes | 603 Views
Değerler ve Değişkenler. Values & Variables. 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. Anahtar Kelimeler (Keywords). Değişken Tanımı. int x = 3;. Tip. Değer. Değişken.
E N D
Değerler ve Değişkenler Values & Variables
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
Değişken Tanımı int x = 3; Tip Değer Değişken İfadesonu
int nTamsayi; string sYazi; Değişken Tanımı int nTamsayi = 42; stringsYazi = “Bu bir satır!"; int nTamsayi; string sYazi; ... nTamsayi = 42; sYazi = " Bu bir satır!";
Değer atama zorunluluğu string sDegersiz; MessageBox.Show(sDegersiz, “merhaba!", MessageBoxButtons.OK); HATA!
Değişken Tipleri (Types) • Temel Tipler • Tamsayılar • Kayar nokta sayıları • Karakterler • Karakter Dizeleri • Tarihler
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
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;
İ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
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ü) • ….
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.
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.
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.
Örnek int k=0, m; m = ++k; m ' nin değeri 1 ve k ' nin değeri de 1 olur int k=0, m; m = k++; m ' nin değeri 0 ve k ' nin değeri 1 olur. int k=5, m, n=2; m = --k + n; m ' nin değeri 6 ve k ' nin değeri de 4 olur int k=0, m, n=7; m = k++ + --n; m ' nin değeri 6 ve k ' nin değeri 1 ve n ' nin değeri 6 olur.
Alıştırma • Aşağıdaki program sonucunda, değişkenlerin değerleri ne olur? int i, j, k; i = 2; j = 3 + i++; k = 3 + ++i; i *= ++k + j--; i /= k-- + ++j;
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; • m = k-- + ++i; • m *= j % 4; • m += k++ + (j-- * ++i);
İş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.
Örnek • PÜBÇEÇ kuralını kullanarak öncelikleri belirleyebilirsiniz. 1 + 2 * 3 - 4 / 5 = ? P Parantez Ü Üstel B Bölme Ç Çarpma E Ekleme Ç Çıkartma 1 + (2 * 3) – (4 / 5) 6.2
Ö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) 1 + (2 * 3) – (4 / 5) 4/5 = 0 (tamsayı bölümü) 7
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.
Karakterler • char 1 byte 0-256 • 'a' 'z' 'A' 'Z' '?' '@' '0' '9' • Özel karakterler “\” işareti başta konularak gösterilir. • '\n' : alt satıra geç karakteri • '\t' : sekiz karakter sonraya atla • '\'' : tek tırnak • '\\' : \ işareti (ters bölü) • ve diğerleri
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
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”;
string işlemleri • İki string’i birleştime Sonuç : “Merhaba Dünya!”
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.
string işlemleri • string’i bölmek • string Substring() Sonuç : “rha”
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.
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.
DateTime Nesnesi Oluşturma • DateTimedt = new DateTime(yıl,ay,gun); Yeni bir nesne Oluşturma Tip Değişken Adı Başlangıç Değerleri
Örnek Yeni bir nesne oluşturuluyor
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;