Merhaba millet! Nasılsınız, keyifler yerinde mi? Ben yine bir şeyler karıştırıyordum bilgisayar başında, tam da konuya girmişken aklıma geldi, geçen günlerde yeğenimle konuşurken sorduğu bir soru üzerine bu konuyu ele almaya karar verdim. Çocukken babamın eski bir cep telefonunda oyun oynardık, hani şu tuşlu olanlardan… Orada bile sayılarla bir şeyler yapıyorduk ama ne olduğunu tam bilmiyordum tabii. İşte o aklıma geldi ve programlamadaki o sihirli kelimeyi, yani operatörleri anlatmaya karar verdim. Ne güzel değil mi? Bir de çocukluk anısıyla başlayan bir yazı okumak…
Geçenlerde bir elektronik devre tasarlamaya çalıştım, neyse ki işler yolunda gitti ama bu süreçte bazı mantıksal hatalar yaptığımı fark ettim. Bir kabloyu yanlış bağlamışım sanırım, sonuç mu? Bütün devre çalışmadı tabii 🙂 Sonra oturup tek tek kontrol edince hatayı buldum. İşte bu tür ufak tefek aksilikler, programlamada da karşımıza çıkan operatörlerin önemini bir kez daha hatırlattı bana.
Neyse efendim, konumuza dönelim. Operatörler, programlama dillerinin olmazsa olmazı. Onlar sayesinde programlarımız sadece duran verilerle değil, onlarla etkileşim kurarak, karşılaştırarak ve mantıksal sonuçlar çıkararak çalışır hale geliyor. Tabii bu ilk başta biraz karmaşık gelebilir ama aslında günlük hayatımızda da sürekli kullandığımız şeyler bunlar, sadece farkında değiliz.
Öncelikle, en temelinden başlayalım: Aritmetik Operatörler. Bunlar bildiğimiz toplama, çıkarma, çarpma, bölme gibi işlemler işte. Hani ilkokuldan beri yaptığımız şeyler. Programlamada da `+`, `-`, `*`, `/` gibi sembollerle gösterilirler. Bir de `mod` operatörü var, bu da kalan sayıyı verir. Mesela 10’u 3’e böldüğünde kalan 1 olur, değil mi?
Mesela şöyle düşünün, bir alışveriş sepetiniz var. İçine ürünler atıyorsunuz, fiyatlarını topluyorsunuz. İşte orada kullandığınız toplama işlemi, bir aritmetik operatör. Ya da bir projenizin maliyetini hesaplarken, tüm giderleri toplayıp bir sonuç bulursunuz. Bu da aynı mantık. Gerçi bazen hesap makinesine bile gerek kalmadan kafadan yapmaya çalışırım ama sonra hata yapınca başım ağrır 🙂
Sonra geldik Karşılaştırma Operatörlerine. Bunlar da iki değeri birbiriyle karşılaştırmak için kullanılır. Daha doğrusu, bir değerin diğerinden büyük mü, küçük mü, eşit mi olduğunu anlamamızı sağlarlar. Kullandığımız semboller `>`, `<`, `>=`, `<=`, `==` (eşit mi?) ve `!=` (eşit değil mi?). İşte bu karşılaştırmalar sayesinde programımız belirli koşullara göre hareket edebilir.
Düşünün ki bir online alışveriş sitesinde indirim kuponu kullanmak istiyorsunuz. Sepet tutarı belirli bir limitin üzerindeyse kupon geçerli olur, değilse olmaz. İşte orada sistem, sizin sepet tutarınızı kuponun geçerlilik limitiyle karşılaştırır. Eğer sepet tutarı limitin üzerindeyse (büyükse), kuponu uygulayabilirsin. Ne güzel değil mi? Bu karşılaştırmalar sayesinde programlarımız akıllı hale geliyor.
Şimdi işler biraz daha ilginçleşiyor: Mantıksal Operatörler. Bunlar da birden fazla koşulu bir araya getirmek veya mantıksal sonuçlar üretmek için kullanılır. En bilinenleri `AND` (VE), `OR` (VEYA) ve `NOT` (DEĞİL) operatörleridir. `AND` operatörü, her iki koşulun da doğru olmasını gerektirir. `OR` ise en az bir koşulun doğru olması yeterlidir. `NOT` ise bir koşulun tersini alır. Mesela, hem yaşınız 18’den büyükse HEM DE ehliyetiniz varsa araba kullanabilirsiniz.
Bu mantıksal operatörler, programın “karar verme” yeteneğini oluşturur. Mesela bir oyunda, hem canınızın %10’dan fazla olması HEM DE yeterli enerjinizin olması durumunda özel bir yetenek kullanabilirsiniz. Ya da bir sisteme giriş yaparken, hem kullanıcı adınızın doğru olması HEM DE şifrenizin doğru olması gerekir. Eğer bunlardan biri yanlışsa, giriş yapamazsınız. İşte bu `AND` mantığı.
Bu arada, bazen kafam karışıyor acaba bu operatörleri kodda nasıl kullanacağım diye. Çok basit aslında. Mesela bir C# uygulamasında kullanıcıdan yaşını alırken şöyle bir şey yapabiliriz:
// YANLIŞ KULLANIM (Basit bir örnek) int kullaniciYasi = 25; bool ehliyetVarMi = true;if (kullaniciYasi > 18 & ehliyetVarMi) // '&' yerine '&&' daha yaygın ve güvenli { Console.WriteLine("Araba kullanabilir."); }
// DOĞRU KULLANIM (Daha güvenli ve yaygın) int kullaniciYasiDogru = 25; bool ehliyetVarMiDogru = true;
if (kullaniciYasiDogru > 18 && ehliyetVarMiDogru) { Console.WriteLine("Araba kullanabilir."); }
// Başka bir örnek (OR operatörü) bool ucretsizDenemeAktifMi = true; bool premiumUyeMi = false;
if (ucretsizDenemeAktifMi || premiumUyeMi) { Console.WriteLine("Tüm özelliklere erişebilir."); }
Bakın, burada `&&` operatörü “VE” anlamına geliyor. Yani hem `kullaniciYasiDogru > 18` hem de `ehliyetVarMiDogru` doğruysa o blok çalışıyor. `||` operatörü ise “VEYA” demek. En az birinin doğru olması yeterli. Bu tür basit karşılaştırmalarla programlarımıza zeka katıyoruz.
Aslında bu operatörler, programlama dünyasının temel yapı taşlarından diyebiliriz. Bunları doğru ve etkili kullanmak, yazdığınız kodun daha okunabilir, daha verimli ve daha hatasız olmasını sağlar. Hani bazen bir kodu ilk okuduğumda “Bu ne böyle?” derim ya, işte o kodda operatörler doğru kullanılmamışsa veya gereksiz yere karmaşıklaştırılmışsa oluyor bu.
Bir de şöyle bir durum var, bazen bu operatörleri kullanırken ufak tefek hatalar yapabiliyoruz. Mesela `==` ile `=` operatörünü karıştırmak gibi. `==` iki değeri karşılaştırırken, `=` bir değere atama yapar. Bu tür basit hatalar yüzünden programımız istediğimiz gibi çalışmayabilir. Kendi programım sınıfta kaldı :)) Ne yapalım işte, hepimiz insanız.
Bu arada, C# gibi dillerde bu operatörlerin yanı sıra bit düzeyinde çalışan operatörler de var ama onlar biraz daha ileri seviye konular. Şimdilik aritmetik, karşılaştırma ve mantıksal operatörlere odaklanmak yeterli bence. Zaten başlangıç için bunlar bile fazlasıyla yeterli. Detaylı bilgi için Google’da operatörler diye aratabilirsiniz, bolca kaynak bulursunuz.
Sonuç olarak, operatörler programlamanın olmazsa olmazı. Onları doğru anlamak ve kullanmak, yazdığınız kodların daha akıllı ve işlevsel olmasını sağlar. Aritmetik olanlar hesaplama yaparken, karşılaştırma olanlar koşulları belirlerken, mantıksal olanlar ise bu koşulları birleştirip daha karmaşık kararlar almamızı sağlar. Umarım bu kısa giriş, operatörlerin dünyasına adım atmanıza yardımcı olmuştur. Hadi bakalım, kodlamaya devam!