C# Değişkenler ve Sabitler

Değişkenler

Değişkenler verilerin depolama alanıdır. Tanımladığımız değişkenlere Ram’de bir bölge ayrılır. Bu bölgede yapılan işlemler bu değişken üzerinde yapılır. Değişkenler şu şekilde tanımlanır.

[csharp](veri tipi) (değişken adı);
int t;[/csharp]

Örnekte int(tam sayı) tipinde değişken tanımladık. Böylece Ram’de 4 byte’lık bir bölge açmış olduk. Program içinde bu bögeye erişmek için i ifadesini kullanıyoruz.

[csharp]int t; //değişken tanımladık
t = 3; //değişkenimize 3 değerini atadık[/csharp]

Tanımladığımız yerel değişkenlere aynı blok erişim vardır.

[csharp]
{ //Birinci blok
int a = 10;
} {//İkinci blok
int a = 20;
}
Console.WriteLine(a);// program hata verir çünkü aynı blokta tanımlanmamıştır.[/csharp]

  • Değişkenleri Nasıl İsimlendirmeliyiz?
  • Değişkenler noktalama işareti ile başlamamalıdır.
  • Bazı programlama dilleri büyük ve küçük harf duyarlıdır. Yani Sayi, sayi ve SAYI hepsi ayrı değişken olarak algınalır.
  • Değişken birden fazla kelimeden oluşacaksa boşluk konmaz.Bu tür değişkenlerde ya kelimeleri birleştirerek veya kelimeler arasına _(alt çizgi) koyarak isimlendirebiliriz.
  • Değişkenlerin isimleri ?, /, {, ] gibi karakterler içeremez.
  • Programlama dili için tanımlanmış anahtar kelimelerini de değişken isimleri olarak kullanmayınız.
  • Değişkenlerde Türkçe karakter kullanmamaya özen gösteriniz.

Değişkenler bellekte bulunan verilerdir. Bir değişkeni kullandığımız zaman o değişkenin bellekte bulunduğu yerdeki bilgiyi kullanırız. Değer tipleri belleğin ‘stack’ bölgesinde saklanır ve veriyi direkt olarak bellek bölgesinden alırken referans tipleri bellekte ‘heap’ alanında saklanır. Yani referans tipleri içinde veri değil bellekteki ‘heap’ alanının adres bilgisini tutarlar. Toplam 15 veri tipi vardır bunlardan 13’ü değer tipindedir, 2’si ise referans tipindedir.

değer tipleri

Değer Tipleri

referans tipleri

Referans Tipleri

Sabitler

Program boyunca sabit kalacak veriler için kullanılan tanımlamalardır. Bir sabit tanımlamak için const anahtar kelimesini kullanırız.

  •  Sabitler tanımlanırken ilk değer ataması yapılmak zorundadır.
  •  Program boyunca sabit değeri değiştirelemez.

Kullanımı:

[csharp](veri tipi) (değişken adı)=değer;
const double pi = 3.14;
const double pi;[/csharp]

Yukarıdaki tanımlanan sabitlerden birincisi doğru ikincisi ise yanlış bir tanımlamadır. Çünkü sabitler tanımlanırken ilk değer ataması yapılmak zorundadır.

[csharp]const double pi = 3.14159265;
pi = 2 * pi;//pi sabitini değiştirdiğimiz için hata alırız.
[/csharp]

Atama İşlemleri = operatörü: Genel atama işlemlerinde kullanılır. Eşitliğin sağındaki değer eşitliğin solundaki değişkene atanır.

[csharp]int x, y=5; // 5 değerini y değişkenine atamak için = operatörü kullanılmıştır.[/csharp]

+= operatörü: Eşitliğin sağındaki değerle eşitliğin solundaki değişken değerini
toplayıp tekrar eşitliğin solundaki değişkene atar.

[csharp]
int x=0, y=0, z=0;
x += 5;//x’e 5 ekle ve x’e eşitle 2.yol x = x + 5 şeklinde de yazılabilir.
[/csharp]

Bir bir artırma işlemi için x+=1 (veya x=x+1) yerine x++ işlemi kullanılabilir

[csharp]int x=0, y=0,toplam;
x++;//x’i bir artır
y++;//y’yi bir artır
[/csharp]

++ değişkenden sonra kullanılırsa önce atama işlemi yapılır sonra artırma
yapılır.

[csharp]
int x=0, y=0,toplam;
x=y++;
toplam = x + y;
önce x y’ye eşitlenir, daha sonra y artırılır. İşlem sonucu: x=0, y=1, toplam=1 olur.
[/csharp]

++ değişkenden önce kullanılırsa önce artırım yapılır daha sonra atama
işlemi yapılır.

[csharp]

int x=0, y=0,toplam;
x=++y;
toplam = x + y;
önce y artırılır daha sonra x y’ye eşitlenir. İşlem sonucu: x=1, y=1, toplam=2 olur.
[/csharp]

-= operatörü: Eşitliğin sağındaki değeri eşitliğin solundaki değişken değerinden
eksilterek tekrar eşitliğin solundaki değişkene atar.

[csharp]
int x=50;
x -= 5;//x’den 5’i çıkar ve x’e eşitle 2.yol x = x – 5 şeklinde de yazılabilir.
[/csharp]

Bir bir azaltma işlemi için x-=1 (veya x=x-1) yerine x– işlemi kullanılabilir.

[csharp]

int x=20, y=10,fark;
x–;//x’i bir azalt
y–;//y’yi bir azalt
fark = x – y;//x ve y’yi çıkararak fark değişkenine ata.
İşlem sonucu: x=19 , y=9 , fark=10 olur.
[/csharp]

— değişkenden sonra kullanılırsa önce atama işlemi yapılır, sonra azaltma
yapılır.

[csharp]int x=10, y=10,fark;
x=y–;
fark = x – y;
önce x y’ye eşitlenir, daha sonra y azalttırılır. İşlem sonucu: x=10, y=9 , fark=1 olur.
[/csharp]

— değişkenden önce kullanılırsa önce azaltma yapılır daha sonra atama
işlemi yapılır.

[csharp]

int x = 10, y = 10, fark;
x = –y;
fark = x – y;
önce y artırılır daha sonra x y’ye eşitlenir. İşlem sonucu : x=9 , y=9 , fark=0 olur.
[/csharp]

*= operatörü: Eşitliğin sağındaki değerle eşitliğin solundaki değişken değeri çarpılıp
tekrar eşitliğin solundaki değişkene atar.

[csharp]

int x = 2, y = 3, z = 2;
x *= 2;//x ile 2’i çarp ve x’e eşitle 2.yol x = x * 2 şeklinde de yazılabilir.
y *= 2;//y ile 2 yi çarp ve y’ye eşitle 2.yol y = y * 2 şeklinde de yazılabilir.
z *= x;//z ile x’i çarp ve z’ye eşitle 2.yol z = z * x şeklinde de yazılabilir.
İşlem sonucu: x=4 , y=6 , z=8 olur.
[/csharp]

/= operatörü: Eşitliğin solundaki değişken değerini eşitliğin sağındaki değere bölerek
tekrar eşitliğin solundaki değişkene atar.

[csharp]

int x = 4, y = 10, z = 64;
x /= 2;//x’i 2’ye böl ve x’e eşitle 2.yol x = x / 2 şeklinde de yazılabilir.
y /= 2;//y’yi 2’ye böl ve y’ye eşitle 2.yol y = y / 2 şeklinde de yazılabilir.
z /= x;//z’yi x’e böl ve z’ye eşitle 2.yol z = z / x şeklinde de yazılabilir.
İşlem sonucu: x=2, y=5, z=32 olur.
[/csharp]

 

Kaynak: Megep Modülleri

Ahmet Şenlik

Kocaeli Üniversitesinde Bilgisayar Programcılığı okudum DGS ile 2016 yılında Sakarya Üniversitesi Bilgisayar mühendisliğini kazandım. Yazılımla uğraşmayı çok seviyorum bu alanda kendimi daha da geliştirmeyi düşünüyorum. Eğer siz de seviyorsanız bu işi devam edin başlamadıysanız başlayın başaracağınıza inanın. :)

You may also like...

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.