program temelleri değiskenler

Değişkenleri gerçek hayata uyarlarsak sepet olarak düşünebiliriz. Bir sepet ile yumurtayı istediğiniz yere taşıyabilirsiniz. Değişkenlerle de bir veriyi, istediğiniz konuma taşıyabilir, veriyi istediğiniz konumda kullanabilirsiniz. Diğer bir adı da veri tipleri diyebiliriz.

Sayfa içinde neden verileri taşımak gerekiyor. Değişkenleri öğrendiğimde ilk aklıma takılan soru buydu. Misal biz kullanıcıdan kullanıcı adını aldığımızda direk veritabanını kullanarak böyle bir kullanıcı kaydı var mı diye sorgulayamaz mıyız? Evet sorgulayabilirsiniz. Veya iki sayıyı kullanıcıdan textbox yani yazı kutusu ile alıp toplama çıkarma vb. işlem yapamaz mıyız? Evet yapabiliriz. Peki neden böyle bir değişkene ihtiyaç duyarız?

İki sayıyı kullanıcıdan aldığımızı var sayalım. Bu sayıları daha sonraki kullanmak için tekrardan kullanıcıdan istemek sizce kullanıcıyı yorup programda negatif duygu yaratmaz mı? Veya kullanıcı adını aldığımız kullanıcı, yanlışlıkla sağında solunda boşluk bırakırsa, veritabanı ile karşılaştırdığımız da veri boşluksuz olarak kayıtlı ise sizce bu kullanıcıyı var olarak görebilir mi?

Değişkende asıl önemli kısmı sayfadan verileri tekrar tekrar çekmek yerine, 1 kere sayfadaki veriyi değişkene alıp istediğimiz kadar o veriyi o sayfa içinde kullanabiliyoruz.

Veri tipleri bir çok farklı ifade ile kullanılır. Ben bugün size aslında en çok kullandığımız değişkenleri öğreteceğim. Diğerlerini zaten normal forumlarda veya web sitelerinde derinlemesine gereksiz cümleler ile bulabilirsiniz.

Bugün size öğreteceğim veri tipleri tam sayı değişkeni olarak kullandığımız integer, metinler için kullandığımız string, virgüllü sayılar için kullandığımız float ve doğru yanlış (true, false) verilerini tutacak olan bool değişkenleri olacaktır. Double ve decimal değişkenine de biraz değineceğim. Neden değindiğimden de bahsedeceğim. Bu veri tipleri bütün programlama dillerinde kullanılmaktadır. Bu makalede değişkenleri kısaca bahsetmemin nedeni, ileride projeler ile pratik yaparak size daha kolay şekilde bir şeyler öğretebileceğimi düşündüğümden. Lütfen buradaki veri tipleri sadece beyninizde yer edinsin.

Önemli:Tüm değişkenlerin ortak kuralları mevcuttur. Hiçbir değişken rakam ile başlamaz! Her değişkenin bir boyutu vardır. Bu boyut proje boyutu  ile alakalıdır. String değişkeni tırnak işareti ile belirtilirken, integer değişkeninde hiç bir şey kullanılmaz. Float değişkeninde misal 1.2f sayısında gördüğünüz gibi tırnak yok, virgül yerine nokta ile ayrılmış bir sayı ve f harfi ile float olarak belirtilmiş bir rakam. Hadi başlayalım.

1- String Değişkeni

string degisken

String değişkenini yazı işlemlerinde kullanırız. Metin tutucu diyebiliriz. Boyutu tuttuğu metin kadardır. Yani sınırsızdır. Yazıyı aldıktan sonra o yazının tüm harflerini küçültebiliriz, büyütebiliriz, sağında veya solunda boşluk var ise silebilir, string değişkeni içine aldığımız cümlede her hangi bir kelime var ise yeni bir kelime ile değiştirebiliriz. Daha bir çok şey yapabilir. Daha detaylı bilgi için burayı inceleyebilirsiniz.

Örnekleme yapmadan önce string kurallarından kısaca bahsedeyim hemen. Eğer yazıyı direk yazacaksanız tırnak işareti içinde yazmalısınız. Aşağıda belirteceğim merak etmeyin. Fakat direk textbox yani yazı kutusundan gelen veriyi string değişkene belirtecekseniz textbox kutusunun .ToString() gibi bir çeviricisi vardır. Onunla string değişkenine gönderebilirsiniz. 

string kullaniciAdi=”MERHABA DÜNYA!”;
kullaniciAdi.ToLower();

Bize sonuç olarak ToLower() “merhaba dünya!” olarak dönüş yapacaktır. Gördüğünüz gibi ToLower methodunda bize küçük harfler ile dönüş yaptı. degiskenAdi.ToUpper() yapsaydık tümünü büyük harf ile dönüş yapacaktı. .Net veya benzeri bir kütüphaneye sahipseniz arka planda degiskenAdi’dan sonra noktaya tıklayarak tüm methodları deneyerek ne işe yaradığına bakabilirsiniz. 

2- Integer Değişkeni

integer degisken

String değişkenini verimli bir şekilde anladıysak integer değişkenini kolaylıkla anlayacaksınız. Anlamadıysanız integer ile değişkenler bilgisini pekiştireceksiniz. Acele etmeyin hepsini kolay bir şekilde öğreneceksiniz. Integer değişkenini tam sayılarda kullanırız. Boyutu 4 baytdır. İki sayıyı toplamak istersek integer değişkenini kullanırız. İnteger değişkenini int degiskenAdi olarak tanımlarız. Ve string de tırnak işareti kullanılırken bunda tırnak işareti kullanılmaz

int sayi1=5;
int sayi2=1;
int sonuc=sayi1+sayi2;

Bu ufak kodlama da 1. sayıya 5  2. sayıya 1 dedik. “sonuc” kısmına 1. sayı ile 2. sayıyı topladık. “sonuc” değişkenimiz 6 oldu. 

3- Float Değişkeni

float degisken

Float değişkenini sadece virgüllü sayılarda kullanırız. Tam sayılarda da kullanabiliriz. Boyut olarak ikisi de 4 bayt yer kapladığı için sorun değil. Ama virgüllü bir sayı ise kesinlikle float, decimal veya double kullanınız. Float’dan sonra double ve decimal değişkenine ufaktan değineceğim.

float sayi1=14.3f;
float sayi2=2.2f;
float sonuc=sayi1+sayi2;

Bu ufak kodlamada da intagerdeki gibi sayi1 ve sayi 2 yi topladık. “sonuc” değişkeninin içine iki sayının toplamını yükledik. “sonuc” değişkenimiz 16.5f oldu.

4- Double ve Decimal Değişkeni

Bu değişkenlere bir hikaye ile başlamak istiyorum. Öğretme sebebim çünkü tamamen bu hikayedir. Tabi biraz beyniniz dinlenmesini istiyorum. Float değişkeni de double değişkeni de decimal değişkeni de virgüllü sayı verisi tutmakta. Bana da yazılım öğreten bir kurs hocasının anlattığı bir hikayedir. Doğrumu bilmiyorum ama akılda çok güzel kalıcılığı vardır.

İnsanlar uzaya roket gönderecekti. O zamanlar ki bilgisayarlar hani 60 gb harddisk, devasal bir harddisk gibi düşünün. Programcılar programı yazıyor. Her şey çok iyi yolunda gidiyor. Ve roket ateşleniyor. Yükseliyor. 1. Kademeyi geçiyor. 2. 3. kademeyi geçiyor derken roket patlıyor. Herkes şaşkın. Neden olduğunu o an bilinmiyor. Tabi panik hali herkes de. Araştırmalar yapılıyor. Sorunun sebebi bulunuyor. Sorunun sebebini açıkladığımda belki “hadi canım oradan.” demeyeceksiniz ama ben o zamanlar “Hadi canım oradan.” dedim. Roketi programlayan programcı, bu değişkenleri programlarken float değişkeni kullanmış. Virgüllü sayı, tutacak ya arkadaş.

Float değişkeni 4 bayt değerinde ±1.5*10-45 ve ±3.4*1038 reel sayı tutabilir. Bunun dışına çıktığında değişken sorun olarak dönüş yapar. Double değişkeni ise 8 bayt değerinde ±5.0*10-324 ve±1.7*10308 reel sayı tutar. Decimal ise 16 bayt değerinde ±1.5*10-28 ve  ±7.9*1028 reel sayı tutar. Programcı eğer o zaman orada Decimal veri tipi kullansaydı büyük ihtimal orada o patlama yaşanmayacaktı. Veya yaşansaydı, sebebi belki de bu olmayacaktı. Float en küçük değere sahiptir ve 4 bayt yer kaplar. Double bir tık üstüdür ve 8 bayt yer kaplar. Decimal en büyüktür ve 16 bayt yer kaplar. 

double sayi1=14.3d;
decimal sayi2=2.2m;

Float, double, decimal arasındaki farkları da böyle bir örnek ile anlatmak istedim size. Aşağıda wikibooks.org web sitesinden aldığım değişkenler, boyutları, kullanım yerleri ve kullanım şekilleri yer almakta. İsteyen inceleyebilir. 

5- Bool Değişkeni

Bu değişkeni normal planlarımda işlemeyecektim. Sebebi ise bu değişkenin bize kattığı veri tipi tutma işlevini aynı zamanda integer ve string ile de yapmak mümkün. Fazla kullanılan bir değişken değildir. Ama eğer proje boyutunu düşünen arkadaşlarımız var ise bu değişkeni kullanabilirler. 

Bool veri tipleri true(doğru), false(yanlış) olmak üzere sadece iki tip veri tutmaktadır. Aynı işlemi string ile de yapabiliriz. Integer ile de yapabiliriz. Örnek ile açıklarsak daha iyi olacağını düşünüyorum.

bool kapiAcikMi=true;
string tatileGittinMi=”Hayır”;
int pencereAcikMi=1;

Yukarıda verdiğim örneklerde aslında tüm veri tipleri aynı işlevi gösterir. Sadece bayt cinsinden boyut farklılıkları vardır. Kapı açık olursa ne yapılacak gibi örnekleri Program Temelleri (Koşullar) makalesinde zaten verdim. Orayı inceleyebilirsiniz. Burada sadece biraz giriş yapmış olduk.  

Bir başka makalemde görüşmek dileğiyle..

Tür Boyut Kapasite Örnek
byte 1 bayt 0, …, 255 (tam sayı) byte a=5;
sbyte 1 bayt -128, …, 127 (tam sayı) sbyte a=5;
short 2 bayt -32768, …, 32767 (tam sayı) short a=5;
ushort 2 bayt 0, …, 65535 (tam sayı) ushort a=5;
int 4 bayt -2147483648, …, 2147483647 (tam sayı) int a=5;
uint 4 bayt 0, …, 4294967295 (tam sayı) uint a=5;
long 8 bayt -9223372036854775808, …, 9223372036854775807 (tam sayı) long a=5;
ulong 8 bayt 0, …, 18446744073709551615 (tam sayı) ulong a=5;
float 4 bayt ±1.5*10-45, …, ±3.4*1038 (reel sayı) float a=5F; veya float a=5f;
double 8 bayt ±5.0*10-324, …, ±1.7*10308 (reel sayı) double a=5; veya double a=5d; veya double a=5D;
decimal 16 bayt ±1.5*10-28, …, ±7.9*1028 (reel sayı)

decimal a=5M; veya decimal a=5m;

Tür Boyut Açıklama Örnek
char 2 bayt Tek bir karakteri tutar. char a='h';
string Sınırsız Metin tutar. string a="Ben bir zaman kaybıyım, beni boşver hocam";

 

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz