07 – Değişkenler

  • Değişkenler içerisinde değer saklanan şeylerdir.
  • Daha önce gördüğümüz primitive veri tiplerini hatırlayalım.
  • Değişken, adından da anlaşılacağı üzere program akışı içerisinde farklı değerler tutabilir.

Değişken Nasıl Tanımlanır

type degiskenadi = value;

type: Primitive tiplerden int, decimal, char, bool olabilir, ya da string olabilir. Aslında bu değişken içerisinde nasıl bir veri saklamak istiyorsak onun tipine uygun olan seçilir. bool içerisinde tam sayı saklanamaz, ya da tam sayı içerisinde virgüllü sayı saklanamaz. Uygun veri tipi seçilir.

degiskenadi: Her değişkene bir isim verilmek zorundadır. Program akışı içerisinde daha sonra bu isim ile tekrar çağrılabilir. Değeri okunur ya da değeri değiştirilebilir. Aynı isme sahip iki değişken tanımlanamaz.

value: Değişken tanımı yapılırken ilk değer ataması yapılmak isteniyorsa “=” ifadesinin karşısına ilk değeri yazılır.

int x = 5;
bool y = false;
char z = 'A';
decimal para = 1250.35m;
string ad = "Faruk Aydoğan";

İlk Denemeler

  • int tipinde iki adet değişken tanımlayalım.
  • int a ve int b, ve ilk değerlerini verelim. Bu değerleri ekrana yazdıralım.
  • Daha sonra a’nın değerini sıfır, b’nin değerini 1000 yapalım.
  • Yeni değerleri ekrana yazdıralım.

Bilgiler

Değişken tanımlanırken ilk değer verilmek zorunda değildir. Daha sonra değer atanabilir.

Değişkenin değeri değiştirildiğinde bir önceki değeri silinir ve üzerine yazılır. Eski değere erişim mümkün değildir.

Eğer değişkenin değeri sabit olsun ve değiştirilsin istenmiyorsa “const” terimi (keyword: anahtar kelime olarak isimlendirilirler) kullanılır. const olarak tanımlanan değişkene ilk anda değer ataması yapılması zorunludur. Değerinin sonradan belirlenmesi mümkün değildir. const İngilizce’de constant yani sabit kelimesinin kısaltılmış halidir.

Tüm bunlara ilişkin örneğimizi yazalım.

İsimlendirme

Tüm değişkenler isimlendirilmelidirler ve bu isimler unique (tekil) olmalıdır.

Değişkenlere isim verme noktası özgür bırakılsa da bazı kurallar vardır. Bunlar;

  • Değişken isimleri karakter, sayı ve _ içerebilir.
  • Değişken ismi karakter ya da _ ile başlamak zorundadır. Sayı ile başlayamaz.
  • İsim içerisinde boşluk bırakılmaz.
  • İsimlendirme karakter hassaslığı içerir, yani “adi” ile “Adi” farklı değişkenleri temsil eder.
  • C# için ayrılmış bazı kelimeler değişken adı olarak kullanılamaz. Ör: int, char, string vs.

Tavsiyeler

Değişken isimleri verilirken okunduğunda ne için olduğu anlaşılır olmasına dikkat etmek önemlidir.

Type Casting

C# dilinde iki farklı yöntem ile type casting (tip değiştirme) vardır. Bunlar Implicit (Otomatik) Casting ve Explicit (Manuel) Casting.

Kod yazarken çoğu zaman type casting yapmaya ihtiyaç duymayız fakat nadir de olsa böyle bir durum oluşabilir. Bu durumlarda kullanılmak üzere iki adet type casting yöntemi mevcuttur. Burada amaç string olan bir değeri integer’a, veya string olan bir değeri boolean’a dönüştürmektir.

Tip Değiştirme Methodları

Örneğin Console uygulama yazarken Console.ReadLine(); isimli metod ile ekrandan bilgi okumaktayız. Fakat okunan değerler her zaman için string olarak okunur. Peki okuduğumuz değeri özellikle integer’a çevirip bir işlem yapmak istersek ne yapmalıyız?

string okunanDeger = Console.ReadLine();
int yeniIntDeger = Convert.ToInt32(okunanDeger);
int islemSonuc = 15 * yeniIntDeger;

Convert ile birlikte kullanabileceğimiz çeşitli methodlar mevcuttur. Bunlar:

int myInt = 10;
double myDouble = 5.25;
bool myBool = true;

Console.WriteLine(Convert.ToString(myInt));    // convert int to string
Console.WriteLine(Convert.ToDouble(myInt));    // convert int to double
Console.WriteLine(Convert.ToInt32(myDouble));  // convert double to int
Console.WriteLine(Convert.ToString(myBool));   // convert bool to string