Operatör, bir veya daha fazla işlenende gerçekleştirilecek işlemi belirten bir sembol veya işlevidir. Birçok farklı türde operatör vardır; işlenen ise bir değişken olarak düşünülebilir. Operatörler tüm programlama dillerinin temelidir. İşlenenler üzerinde çeşitli işlemler yapmamıza olanak tanırlar. Derleyiciye matematiksel (aritmetik), mantıksal, atama vb. işlemleri yapmasını ve sonunda sonucu üretmesini söylerler.
Scala'da olduğu gibi birçok programlama dilinde de kullanılan farklı operatör türleri vardır. Bunlar şunlardır:
İlişkisel Operatör
Aritmetik Operatör
Atama Operatörü
Mantıksal Operatör
Bit Düzeyi (Bitwise) Operatör
Yukarıdaki operatörleri hem kuramsal hem de programatik olarak öğreneceksiniz.
İlişkisel Operatörler
İlişkisel operatörler ağırlıklı olarak iki veya daha fazla değişken arasında karşılaştırma yapmak için kullanılır. Scala'da IF ELSE eğitimini okuduysanız, IF ELSE koşullarında ilişkisel operatörlerin gücünden yararlandığınızı görmüşsünüzdür.
Bu ilişkisel operatörler bir boolean değer döndürür, yani True veya False.
Eşittir (==): Verilen iki değişkenin veya işlenenin eşit olup olmadığını kontrol eder. Eşitse true, değilse false döndürür.
Eşit Değildir (!=):Eşittir operatörünün tersidir ya da eşittir operatörünün mantıksal tümleyeni olarak düşünebilirsiniz. Verilen iki işlenenin eşit olup olmadığını kontrol eder. Eşit değilse true, aksi halde false döndürür.
Büyüktür (>): İlk işlenenin ikinci işlenenden büyük olup olmadığını kontrol eder. Büyükse true, değilse false döndürür.
Küçüktür (<):Büyüktür operatörünün tersidir; ilk işlenenin ikinci işlenenden küçük olup olmadığını kontrol eder. Küçükse true, değilse false döndürür.
Büyük Eşittir (>=): Bu operatör, ilk işlenenin ikinci işlenenden büyük veya ona eşit olup olmadığını kontrol eder. Öyleyse true, değilse false döndürür.
Küçük Eşittir (<=):Büyük eşittir operatörünün tersidir. İlk işlenenin ikinci işlenenden küçük veya ona eşit olup olmadığını kontrol eder. Öyleyse true, değilse false döndürür.
Şimdi ilişkisel operatörleri bir kod yardımıyla anlayalım.
Yukarıdaki kodu çalıştırmak için tek yapmanız gereken scala relation_op.scala yazmaktır; aşağıda gösterildiği gibi bir çıktı görmelisiniz.
Sırada mantıksal operatörler var.
Mantıksal Operatörler
Çoğunlukla IF ELSE gibi koşullu ifadelerde veya while döngüsünde kullanılırlar. Ele alınan özgün koşulun çıktısını birleştirir veya tamamlar; iki ya da daha fazla koşulu bir araya getirir. (Kaynak: Operators in Scala)
Mantıksal VE: Her iki koşul da sağlandığında true döndürür. Aksi halde false döndürür. “and” kullanımı, && operatörü için bir vekil gibi davranır.
Mantıksal VEYA: Koşullardan biri (veya her ikisi) sağlandığında true döndürür. Aksi halde false döndürür. “or” kullanımı, || operatörü için bir vekil gibi davranır.
Mantıksal DEĞİL: Ele alınan koşul sağlanmıyorsa true döndürür. Aksi halde false döndürür. “not” kullanımı, ! operatörüne bir alternatiftir.
Aritmetik (Matematiksel) Operatörler
İsminden de anlaşılacağı gibi aritmetik operatörler, işlenenler arasında matematiksel işlemler yapmak için kullanılır.
Scala'da en çok kullanılan aritmetik operatörler şunlardır (Kaynak: Operators in Scala):
Toplama: İki değişkeni/işleneni $(+)$ toplar.
Çıkarma: İki işleni $(-)$ birbirinden çıkarır.
Çarpma: İki işleni $(\times)$ çarpar.
Bölme: İlk işleni ikinci işlene $(/)$ böler.
Üs: İşlenenlerin üssel (kuvvet) değerini döndürür. Temelde bir işlenen diğerinin kuvveti olarak yükseltildiğinde $(x^y)$ veya $(x**y)$.
Modülüs: İlk işlenen ikinci işlene bölündüğünde kalan değer kalandır, buna modülüs (%) denir.
Hızlıca küçük bir kod yazıp sonuçları analiz edelim.
Bu örnekte yalnızca değişken tanımlamak yerine listeler kullanacaksınız. Bir değişkenden farklı olarak, bir Liste çeşitli veri tiplerinde n sayıda değer tutabilir; Scala'da bağlı listeyi temsil eder ve değiştirilemezdir. Aritmetik işlemleri iki değişken yerine iki liste üzerinde gerçekleştireceksiniz.
Atama Operatörleri
Bir değişkene değer atamak için atama operatörleri kullanılır. Bunu yapmak için, sağ taraftaki işlenen değer olarak kabul edilirken sol taraftaki işlenen genellikle değerin atandığı değişkendir. Değerin int, float vb. gibi farklı veri tipleri olabilir. Hem değişkenin hem de değerin veri tipi aynı olmalıdır, aksi takdirde derleyici hata verir. (Kaynak: Operators in Scala)
Basit Atama: Bir değeri değişkene atamak için kullanılır $(=)$.
Topla VE Ata: Sol işleneni sağ işlenenle toplamak ve sonucu sol taraftaki değişkene atamak için kullanılır $(+=)$.
Çıkar VE Ata:Topla VE atamasına benzer. Sol işlenenden sağ işleneni çıkarmak ve sonucu sol taraftaki değişkene atamak için kullanılır $(-=)$.
Çarp VE Ata: Sol işleneni sağ işlenenle çarpıp sonucu sol taraftaki değişkene atamak için kullanılır $(\times =)$.
Böl VE Ata: Sol işleneni sağ işlenene bölüp sonucu sol taraftaki değişkene atamak için kullanılır $(/=)$.
Benzer şekilde daha pek çok atama operatörü vardır. Son olarak, bunların programatik olarak nasıl çalıştığını anlamak için bir kod yazalım.
Sonuç
Scala ile ilgili bu eğitimi tamamladığınız için tebrikler.
Önceki iki eğitimi de okuduysanız, artık Scala'da üç farklı konuyu ele aldınız. Yararlı bir alıştırma, bu üçünden edindiğiniz becerileri birleştirip sıfırdan bir Scala programı yazmaktır. Bu, yalnızca özgüveninizi artırmakla kalmayacak, aynı zamanda Scala'daki çok daha ileri düzey konuları takip ederken işinizi kolaylaştıracaktır.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!