İçeriğe geç

Değişkenler ve Veri Tipleri: Kod Dünyasına İlk Adım

Merhaba millet! Bugün sizlerle programlamanın temel taşlarından birine, yani değişkenlere ve veri tiplerine dalacağız. Hani bazen bir oyunu oynarken skorunuzu kaydediyor ya sistem, işte o skor bir değişkende tutuluyor. Ya da bir kullanıcının adını, soyadını alıyoruz, onlar da başka değişkenlerde saklanıyor. Tabi bu kadar basit değil her şey, biraz daha derine inmek lazım.

Programlama dediğimiz şey aslında bilgisayara ne yapacağını adım adım anlatmak gibi bir şey. Ve bu anlatımı yaparken de bazı şeyleri aklında tutması gerekiyor bilgisayarın. İşte tam bu noktada değişkenler devreye giriyor. Düşünsenize, sürekli aynı bilgiyi tekrar tekrar yazmak yerine ona bir isim veriyorsunuz, sonra o ismi kullanarak bilgiye ulaşıyorsunuz. Hem işimiz kolaylaşıyor hem de kodumuz daha anlaşılır oluyor. Ne güzel değil mi?

Bu arada, her değişkenin bir de kimliği var aslında, buna veri tipi diyoruz. Yani değişkenin ne tür bir bilgiyi tutabileceğini belirleyen bir şey. Mesela bir sayıyı tutacak değişkenle, bir metni tutacak değişken aynı olamaz, olmamalı da. Yoksa işler karışır, bilgisayar kafayı yerdi galiba.

En sık karşılaştığımız veri tiplerinden birkaçı var. Öncelikle ‘int’ dediğimiz tam sayılar. Hani 1, 2, 3, -5 gibi sayılar var ya, işte onlar tam olarak ‘int’ oluyor. Örneğin, yaşınızı tutacak bir değişken ‘int’ olabilir. Ya da bir ürünün adedini. Sonra ‘string’ var ki, bu da metinler için kullanılıyor. Adınız, soyadınız, bir ürünün açıklaması, bir e-postanın içeriği… Hepsi ‘string’ olarak saklanabilir. Hani bazen programlarda şöyle bir uyarı görürüz ya, ‘Lütfen geçerli bir e-posta adresi girin’, işte oradaki e-posta adresi bir ‘string’ değişkenine konuluyor genellikle.

Bir de ‘bool’ var ki, bu tam bir ayırıcı. Sadece iki değeri olabiliyor: ‘true’ (doğru) ya da ‘false’ (yanlış). Yani bir şeyin olup olmadığını kontrol etmek için birebir. Mesela, bir kullanıcı sisteme giriş yapmış mı? ‘true’ ya da ‘false’. Bir ayar açık mı, kapalı mı? Yine ‘true’ ya da ‘false’. Kendi programım sınıfta kaldı 🙂

Ve tabii ki ‘var’ var. Bu biraz daha esnek bir yapı. Derleyiciye ‘Sen anlarsın artık ne olacağını’ diyorsunuz gibi düşünebilirsiniz. Yani değişkenin türünü siz belirtmiyorsunuz, derleyici kendisi anlıyor. Bu bazen işleri kolaylaştırsa da, fazla kullanıldığında kodun okunabilirliğini azaltabiliyor, dikkatli olmak lazım.

Şimdi gelelim işin pratiğine. C# ile basit bir örnek yapalım. Birkaç değişken tanımlayacağız ve onlara değerler atayacağız. Bu arada, bu örnekleri kendi bilgisayarınızda denemek için Visual Studio gibi bir ortam kurmanız gerekecek, ama internette de online C# derleyicileri bulmak mümkün, merak ederseniz Google’da aratabilirsiniz.

Öncelikle tam sayılarla başlayalım. Bir yaş değişkeni tanımlayalım. Ben 42 yaşındayım mesela, o yüzden yaşımı 42 olarak atayacağım. Bir de oyun oynama süremizi tutacak bir değişken olsun, diyelim ki 3 saat. Ama tam hatırlamıyorum ama sanırım 3-4 saat sürdü.

“`csharp

// Tam sayılar (int)

int benimYasim = 42;

int oyunSuresi = 3; // Saat olarak

“`

Şimdi metinlere geçelim. Adımı ve soyadımı tutacak değişkenler oluşturalım. Tabi bu sadece bir örnek, siz kendi bilgilerinizi kullanabilirsiniz.

“`csharp

// Metinler (string)

string ad = \”[Adınız]\”; // Buraya kendi adınızı yazın

string soyad = \”[Soyadınız]\”; // Buraya kendi soyadınızı yazın

string tamAd = ad + \” \” + soyad; // Ad ve soyadı birleştiriyoruz

“`

Bu ‘tamAd’ değişkeni, ‘ad’ ve ‘soyad’ değişkenlerini birleştirerek tek bir metin oluşturuyor. Yani programlama dünyasında bu birleştirme işlemine ‘concatenation’ deniyor. Hani bazen bir yerde adınızla soyadınız ayrı ayrı girilir de, sonra tek bir isim olarak görünür ya, işte o işlem böyle yapılıyor. Ne güzel değil mi?

Gelelim ‘bool’a. Bir kullanıcının giriş yapıp yapmadığını kontrol eden bir değişken düşünelim. Başlangıçta giriş yapmamış olsun, yani ‘false’. Sonra kullanıcı giriş yaptığında bu değeri ‘true’ yaparız. Bu arada, daha karmaşık senaryolarda bu ‘bool’ değişkenleri çok işe yarıyor, programın akışını kontrol etmek için.

“`csharp

// Doğru/Yanlış (bool)

bool girisYapildiMi = false;

bool ayarAktifMi = true;

“`

Şimdi de ‘var’ değişkenini görelim. Bu biraz daha dinamik bir yapı sunuyor bize. Mesela bir sayıyı ‘var’ ile tanımlayabiliriz.

“`csharp

// Otomatik algılanan tip (var)

var sayi = 100;

var metin = \”Merhaba Dünya!\”;

var dogruYanlis = true;

“`

Gördüğünüz gibi, ‘var’ kullandığımızda derleyici kendisi türü anlıyor. ‘sayı’ değişkeninin ‘int’ olduğunu, ‘metin’ değişkeninin ‘string’ olduğunu, ‘dogruYanlis’ değişkeninin ise ‘bool’ olduğunu kendisi çıkarıyor. Bu, kod yazarken biraz daha hızlı olmamızı sağlayabilir, gerçi benim gibi biraz eski kafalılar için bazen kafa karıştırıcı olabiliyor açıkçası.

Peki, bu değişkenleri ve veri tiplerini neden öğreniyoruz? Çünkü programlama dediğimiz şey zaten bu yapı taşları üzerine kurulu. Bir web sitesinde gördüğünüz veriler, bir mobil uygulamada kullandığınız bilgiler, bir oyunun mantığı… Hepsi bu temel veri tipleri ve değişkenlerle şekilleniyor. Mesela bir e-ticaret sitesinde ürünlerin fiyatları ‘int’ veya ‘decimal’ gibi sayısal tiplerde, isimleri ‘string’ olarak saklanır. Stok durumları ‘int’ ile, indirim aktif olup olmadığı ‘bool’ ile kontrol edilebilir. İşte bu yüzden, bu konuları iyi anlamak, ileride daha karmaşık konuları öğrenmenin temelini oluşturuyor.

Şimdi bir de yanlış bir kullanım örneği ve doğrusunu gösterelim ki, farkı daha iyi anlayalım. Diyelim ki bir sayıyı metin olarak saklamaya çalıştık. Bu hata verir, çünkü sayısal bir işleme ihtiyacımız olduğunda metin olarak tutulan bir sayıyla işlem yapamayız. Mesela toplama gibi.

“`csharp

// YANLIŞ kullanım örneği

string urunFiyatiMetin = \”50\”;

// int toplamFiyat = urunFiyatiMetin + 20; // HATA VERİR! Çünkü string ile int toplanamaz.

“`

İşte burada hata alırız çünkü ‘urunFiyatiMetin’ bir metin, yani string. Bir metin ile bir sayıyı doğrudan toplayamazsınız. Bilgisayar kafayı yerdi hani 🙂

Doğrusu ise, sayıyı doğru veri tipinde saklamak veya gerektiğinde dönüştürmek. Eğer fiyat bir sayı olacaksa, onu ‘int’ veya ‘decimal’ (ondalıklı sayılar için) olarak saklamalıyız.

“`csharp

// DOĞRU kullanım örneği

int urunFiyati = 50;

int toplamFiyat = urunFiyati + 20;

// Eğer ondalıklı bir fiyat olsaydı

decimal indirimliFiyat = 45.99m; // ‘m’ ondalıklı sayı olduğunu belirtir

“`

Gördüğünüz gibi, ‘urunFiyati’ değişkenini ‘int’ olarak tanımladığımız için, içine rahatlıkla 20 ekleyip sonucu ‘toplamFiyat’ değişkenine atayabiliyoruz. Bu kadar basit bir fark, kodumuzun çalışıp çalışmaması arasındaki ince çizgi oluyor işte. Sonuç olarak, doğru veri tipini seçmek, kodun hem güvenilirliği hem de performansı açısından kritik öneme sahip.

Bu arada, bu temel konuları öğrenirken bol bol pratik yapmak çok önemli. Hani dağcılıkta ilk önce temel düğümleri öğrenirsin ya, sonra onlarla daha zorlu rotaları tırmanırsın, programlamada da aynı mantık. Bu değişkenler ve veri tipleri, kodlama yolculuğunuzun ilk ve en sağlam adımları. Eğer bu temelleri sağlam atarsanız, sonrasında C#’ta, SQL’de veya başka bir dilde REST API geliştirirken ya da gömülü sistem tasarlarken işleriniz çok daha kolaylaşacaktır. Neyse efendim, bir sonraki yazıda görüşmek üzere!

Bir yanıt yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.