Erdinç Yaşan

Diğer değişkenler ve c# İle etkileşimi

Artık değişkenlerin ne olduğunu gayet net anladık diye düşünüyorum.

C# ile çalışırken sadece string değişkenini kullanmayacağız bunun yanında çokça ihtiyacımız olacak olan birkaç değişken daha mevcut hepsine kısaca bir göz atacağız.

Fakat ondan önce  bilmemiz gereken en temel bir ayrım mevcut. Reference types ve Value types, tüm değişkenleri anlatmadan önce bunu anlatmak ne kadar doğru bilmiyorum fakat kısaca bu iki tip arasındaki farka ilk başta bir başlangıç yapmış olmak isterim.

Reference type dediğimiz olayda aslında adı üzerinde değişkenlerimiz biz referansa işaret etmektedir peki nedir bu ?

C# programları sizin kullanmadığınız değişkenleri bellekten temizler, bu özelliğimiz de Garbage Collection temizleyicinin adı da Garbage Collector peki neye göre temizliyor efendim, c# içerisinde kodlarınız belirli scope’lara ayrılır bunları da temel olarak {} ifadeleri ile belirliyoruz fakat öyle durduk yere belirleyemiyoruz, her neyse daha da ilerlemeden önce reference types’lara geri dönelim.

Reference types’lar c# içerisinde temel olarak bir değerden ziyade bir belleğe tekabül eder, reference type’a örnek olarak verebileceğimiz ilk örnek string değişkenidir. Yani siz bir string’in içerisine değer attığınızda ve onu ekrana yazdırmak istediğinizde aslında “Bu adreste bir değer var git onu bul ve getir” diyoruz, şimdiki konumuz ise Value type’lar yani içerisinde direkt olarak değer tutan değişkenler.

double,float,decimal,int bunların temelleridir. Ne olduklarına hemen bakacağız.

Farkettiyseniz string ifadelerde + işaretlerini kullandığımızda iki metni birleştiriyoruz peki biz iki sayıyı toplamak istediğimizde durum ne olur? Efendim bu aslında o sayıların tamamen tipinin ne olarak tanımlandığına bağlı. Eğer siz gidip string değişkenlerinin içerisine sayı verip bunları toplarsanız ne oluyormuş gelin bakalım ;

Hepinizin görmek istediği şey aslında 19 sonucudur fakat c# öyle çalışmaz çünkü string ifadelerin toplamında, yeni bir metin elde edilir yani. İki metinden oluşan yeni bir metin.

Tüm programlama dilleri matematik biliyor fakat belirli sayıda efendim örneğin iki sayı ile dört işlem pekala yapabilirsiniz. Üstüne üstlük mod alma işlemini bile yapabilirsiniz!

Şimdi ilk kurbanımız olan int değişkeninin icabına bir bakalım.

int aslında integer’ın kısaltılmış halidir ve bu değişken tipinde bir değişken oluşturduğumuzda içerisine tam sayı atayacağımız anlamına geliyor yani kesirli ve noktalı sayı belirtemeyiz!

Bir değişken tanımlarken her zamanki gibi ilk önce tipi sonra belirtmiş olduğumuz bir isim eşitlik ifadesi ile içerisine hangi değer atayacağımızı belirtiyoruz.

Şimdi yukarıdaki çıktının değeri ne oluyormuş hemen bakalım.

Yukarıdaki kodda aldanmamamız gereken bir şey var, bu şey Console.WriteLine() işleminde toplama işlemlerini yapmıyoruz C# içerisinde işlem önceliği vardır önce sayi1 ve sayi2 nin toplama işlemini yapar ve sonra ekrana yazdırır ve ekrana yazdırırken iki adet int değerini string tipine çevirir, çünkü Console üzerinde yaptığımız işlemler string ile yapılır.

Yani siz bu iki ifadenin arasına boş da olsa bir string eklerseniz bu iki ifadeyi stringe çevirip toplama işlemini  yapar.

Tamam şimdi tip dönüşümlerinden ziyade konumuz olan int değişkenine geri dönelim ve neler yapabildiğimize bir bakalım.

Toplama işlemi

Toplama işlemi yaparken normal + ifadesini kullanıyoruz yukarıdaki toplam değişkeninin içeriğinde sayi1’in değeri sayi2’nin değeri ve 20 sayısı toplanır ve toplam değişkeninin içerisine atanır.

Çıkarma işlemi

Eğer araya – ifadesini koyarsanız iki sayıyı çıkartır gördüğünüz gibi sayi1 değişkeninden 20 sayısını çıkarıyorum cevap sayi3 içerisinde.

Çarpma işlemi

Çarpma işlemi * ifadesi ile temsil edilir ve sağındaki ve solundaki değişkenleri çarparr, normal matematik işlemi.

Bölme işlemi

Bölme işlemi / ifadesi ile temsil edilir. Ve sol taraftaki sayıyı sağ tarafta belirtilen sayıya böler. Ve işlemi tam sayı olarak verir unutmayın!

Yani 10 sayısı tamam okey 2 ye tam bölünüyor sonuç direk 5 olacak. Fakat 10 sayısı 3’e tam bölünmüyor 3.1 gibi bir şeyler çıkar ifade. Fakat int tam sayı olduğu için virgülden sonrasını almaz efendim. Bilgisayarınızda deneyin efendim lütfen okuyup hee diyip geçmeyin bu bilgileri kalıcı hale getirelim.

Mod alma işlemi

Mod almayı açıklayacak olursa şöyle diyebilirim bir sayının başka bir sayıya bölümünden kalanı. Örneğin yukarıda 10 ile 3 örneğini verdik normalde siz 10’u 3e bölseniz sonuç 3 olur ve 1 sayısı kalır. Eğer bölme işlemine devam ederseniz 1 sayısının yanına 0 ekler 3ten sonra bir virgül atar devam edersiniz fakat mod alma işleminde bizi ilk kalan kısmı ilgilendiriyor.

Mod alma işlemi % ifadesi ile gösterilir. Yukarıdaki sonuc değişkeninin içeriği 0 olacaktır çünkü 10 sayısı 2ye tam bölünür ve 0 kalır.

Gelelim diğer değişkenlere

Şimdi int değerinin bir tam sayı olduğunu ve içerisine noktalı sayı alamadığını ifade ettik peki biz noktalı sayı almak istersek ?

O zaman önümüzde birden fazla seçenek mevcut bunların hepsine bakacağı sıradaki kurbanımız double

Eğer siz değişken tanımlaması yaparken başta double derseniz sizin virgüllü sayınız double olacaktır tamam, fakat şöyle bir durum var peki bizim virgüllü sayımız double mı yoksa float mı yoksa decimal mi bunları net olarak ifade etmek için virgüllü sayının sonuna gördüğünüz gibi d ifadesi koyuyoruz d ifadesi sayının double olduğunu gösterir.

Diğer işlemlerin tamamını double değişkeni ile de yapabilirsiniz. Sıradaki kurbanımız float.

float değişkenlerinin tanımlaması float ile yapılır ve sayının float olduğunu belirtmek için sayının sonuna f ifadesi konur. Matematik işlemlerinin tamamını float için de uygulayabilirsiniz. Gelelim sıradaki kurbanımıza

Sayıların decimal olduğunu belirtmek için başına decimal yazıyoruz ve sayı ifadesinin sonuna ise m harfini ekleyebiliriz.

Yukarıdaki örneklerde sayı ifadelerinin sonuna koyulan ifadeleri küçük veya büyük harfle belirtebilirsiniz.

Double ile decimal ikisi de D harfi başladığı için decimal ifadelerini m harfiyle belirtiyoruz.

Bu sayı değişkenlerinin tamamında 4 işlem yapabiliyoruz bunun yanında ek olarak a bilmemiz gereken operatörler var bunlar ++ ve —

++ operatörü

++ Operatörü ile yanında belirtmiş olduğunuz sayıyı bir arttırıyorsunuz yani aslında sayıya bir ekliyorsunuz.

Fakat bu operatörü sayının hem sağına hem de soluna ekleyebilirsiniz.

sayi1 değişkenini bir alt satırda 1 arttırıyoruz ve ekrana yazdırmak istediğimizde sonuç ne oluyor deneyip görelilm.

Sayının başında da aynı işlemi yapabilirsiniz şuan için fark yok gibi gözüküyor fakat hemen farkı anlatayım, eğer operatörün ++ ifadesi sayının solunda ise önce arttırma işlemi yapılır sonra diğer işlemler yapılır. Eğer sağında ise önce diğer işlemler sonrasında arttırma işlemi yapılır, fakat bunlar sadece bir anda birden fazla işlem yapacağımız durumda belirtiliyor yani yukarıdaki iki görselde bunu açıkca göremeyiz çünkü tüm işlemlerimiz sıralı gelin farkı anlamak için satırı şu şekilde değiştirelim.

Yukarıdaki ilk sayıyı ekrana yazdırma ifadesinde sayi1 değişkeninin içeriği bir arttırılır ve sonra ekrana yazdırılır. İkinci ifadeyi yazma sebebim gerçekten sayı1 değişkeninin içeriğinin değiştiğini göstermek.

Fakat siz satırları şöyle değiştirirseniz;

Aldığınız sonuçlar başka olacaktır lütfen sonuçlar için Run ifadesini deneyin buton basıldıkça bozulmuyor.

Gelelim – operatörüne aslında ++ ifadesi ile çok benzer sadece arttırma işlemi değil eksiltme işlemi yapıyor.

Bu ifade de sayının başında ve sonunda kullanabilirsiniz sonunda ben kullandım siz de başında kullanınca ne gibi bir fark oluyor deneyebilirsiniz.

Exit mobile version