int, double, decimal, bool, char ve string tiplerini; var, const ve null olabilen değişkenleri Ohm yasası örneğiyle öğreniyorsun.
Değişken nedir?
Değişken, bellekte bir değeri saklayan ve adı olan bir kutudur. C# tip güvenli bir dildir: her kutunun bir tipi vardır ve o kutuya yalnızca o tipte değer koyabilirsin. Bu, hataları program çalışmadan önce yakalamanı sağlar.
int yas = 24;
double gerilim = 12.5;
string ad = "Fatih";
bool bagliMi = true;
char sinif = 'A';
Tanım şu kalıptadır: tip ad = değer;. Atama işareti = "eşittir" değil, "sağdaki değeri soldaki kutuya koy" anlamındadır.
Sık kullanılan tipler
| Tip | Ne saklar | Örnek |
|---|---|---|
| int | Tam sayı (yaklaşık ±2,1 milyar) | 42 |
| long | Daha büyük tam sayı | 9000000000L |
| double | Ondalıklı sayı (yaklaşık 15 basamak duyarlılık) | 3.14 |
| float | Daha küçük ondalıklı sayı (7 basamak) | 3.14f |
| decimal | Para gibi tam duyarlık isteyen ondalıklı sayı | 19.99m |
| bool | Doğru/yanlış | true |
| char | Tek karakter | 'A' |
| string | Metin | "Merhaba" |
Mühendislik hesaplarında genellikle double kullanırsın. Para hesabında ise decimal tercih edilir; çünkü double ikilik tabanda çalıştığı için bazı ondalıkları tam saklayamaz (örneğin 0,1).
Ohm yasası ile ilk hesap
double gerilim = 12.0; // volt
double direnc = 470; // ohm
double akim = gerilim / direnc;
Console.WriteLine($"Akım: {akim:F4} A");
Akım: 0,0255 A
{akim:F4} sayıyı virgülden sonra 4 basamakla yazdırır. Türkçe ayarlı bilgisayarda ondalık ayırıcı virgüldür; İngilizce ayarlı bir makinede aynı çıktı 0.0255 olur.
var: tipi derleyici bulsun
Sağ taraftan tipin açıkça anlaşıldığı yerde var kullanabilirsin. Tip yine sabittir; yalnızca yazmayı sen bırakırsın.
var sayi = 10; // int
var ad = "Ege"; // string
// sayi = "on"; // HATA: sayi artık int, metin atanamaz
const: değişmeyen değer
const double Pi = 3.14159265;
const double Elektron = 1.602e-19; // coulomb
double yaricap = 2;
Console.WriteLine(Pi * yaricap * yaricap);
Sabitlerin değerini sonradan değiştiremezsin. Bilimsel gösterim de olur: 1.602e-19, 1,602 çarpı 10 üzeri -19 demektir.
Boş olabilen (nullable) tipler
Bazen değer henüz bilinmiyordur: sensör cevap vermedi gibi. Tipin sonuna ? ekleyince değişken null (hiç değer yok) da alabilir:
double? sicaklik = null; // henüz ölçülmedi
Console.WriteLine(sicaklik.HasValue); // False
sicaklik = 23.5;
Console.WriteLine(sicaklik.HasValue); // True
Console.WriteLine(sicaklik.Value); // 23,5
İsimlendirme: Değişken adlarını küçük harfle, sonraki kelimelerin baş harfi büyük yaz (olcumSayisi). Anlamlı isim seç: x yerine gerilim. Türkçe karakter kullanılabilir ama birçok kişi ASCII tercih eder.
Metin (string) tipi hakkında
string değişmezdir: bir metnin içinde değişiklik yaptığını sandığın işlemler aslında yeni bir metin üretir. ad.ToUpper() ya da ad.Length gibi hazır üyeleri kullanabilirsin. Metinleri birleştirmek için enterpolasyon ($"...") en okunaklı yoldur. İki metni karşılaştırırken == kullanabilirsin; C# bu durumda içerikleri karşılaştırır.
Kendin dene
Bir LED'in ön direncini hesapla: besleme gerilimi 5 V, LED gerilimi 2 V, akım 0,02 A. Formül R = (Vkaynak - Vled) / I. Değişkenleri double olarak tanımla ve sonucu "Direnç: 150 Ω" biçiminde yazdır. Sonra akımı 0,01 A yapıp sonucun nasıl değiştiğine bak.
// Mini sınav
Bir seçeneğe tıkla; doğru mu yanlış mı, anında ve nedeniyle birlikte göreceksin.
Bitirdiğinde işaretle: ilerlemen kaydolur, +20 XP kazanırsın.
İpucu: ← → tuşlarıyla dersler arasında gezinebilirsin.