Kotlin Dersleri #3 - Operatörler

Kotlin'de ve diğer dillerde kodlama sürecini kolaylaştırmak adına oluşturulmuş ve aslında farklı fonksiyonları temsil eden yapılar vardır. Bunlara operatör denir.

Örnek:

/**
 * www.emreakcadag.com
 */

fun main() {

   val a = 1
   val b = 2

   val result1 = a.plus(b)
   val result2 = a + b
}

result1 değişkeni ve result2 değişkeni birbirine eşittir. Yani + operatörü kullanarak kod yükünü hafifletmiş olduk. Şimdi gelelim operatör çeşitlerine.

 

Kotlin Operatörler

  • Atama Operatörü
  • Aritmetik Operatörler
  • Arttırma ve Azaltma Operatörleri
  • Aritmetik Atama Operatörleri
  • İlişkisel Operatörler
  • Mantıksal Operatörler
  • ? ve !! Operatörleri
 

Atama Operatörü

En basit ifadeyle değişkenlere değer atamak için kullanılır ve = işareti ile simgelenir.

/**
 * www.emreakcadag.com
 */

fun main() {

   val a = 1
   val b = 2
}

Bu örnek kod bloğunda a ve b adında 2 değer oluşturduk ve bu değerlere sırasıyla 1 ve 2 değerlerini atadık.

 

Aritmektik Operatörler

Toplama - çıkarma - çarpma - bölme ve mod alma işlemleri için sırasıyla + - * / % işaretleri ile simgelenmiştir. Örnek kod bloğunu aşağıda görebilirsiniz.

/**
 * www.emreakcadag.com
 */

fun main() {

    val a = 1
    val b = 2

    // Toplama
    val toplam = a + b

    // Çıkarma
    val fark = a - b

    // Çarpma
    val carpim = a * b

    // Bölme
    val bolum = a / b

    // Mod Alma
    val mod = a % b
}
 

Arttırma ve Azaltma Operatörleri

Bir sayı değerini 1 arttırmak veya 1 azaltmak için kullanılan yapıdır. Tek bir şartı vardır o da kullanılacak sayısal değerin değiştirilebilir olmasıdır. Yani var kullanılarak tanımlanması gerekir.

Örneği inceleyelim.

/**
 * www.emreakcadag.com
 */

fun main() {

    var a = 10
    var b = 20
    var c = 30
    var d = 40
    var e = 50
    var f = 60

    //arttırma
    a++			                // println(a) = 11

    //azaltma
    b--			                // println(b) = 19

    //önce kullanıp sonra arttırma
    var yeniDeger1 = c++		// println(c) = 31 println(yeniDeger1) = 30

    //önce arttırıp sonra kullanma
    var yeniDeger2 = ++d		// println(d) = 41 println(yeniDeger2) = 41

    //önce kullanıp sonra azaltma
    var yeniDeger3 = e--		// println(e) = 49 println(yeniDeger3) = 50

    //önce azaltıp sonra kullanma
    var yeniDeger4 = --f		// println(d) = 59 println(yeniDeger4) = 59
}

Yukarda görüldüğü üzere kullanacağımız amaca göre ++ ve -- işaretlerini değişkenin soluna ve sağına getirerek gerekli atamaları sağlıyoruz.

 

Aritmetik Atama Operatörleri

  • +=
  • -=
  • *=
  • /=
/**
 * www.emreakcadag.com
 */

fun main() {

    var a = 10
    var b = 20
    var c = 30
    var d = 40
    var e = 50

    a += 9			        // println(a) = 19

    b -= 1			        // println(b) = 19

    c *= 10			        // println(c) = 300

    d /= 2			        // println(d) = 20

    e %= 3			        // println(e) = 2
}

Örnekte görüleceği üzere basit bir kullanımı vardır. Aritmetik ve atama operatörleri bir arada kullanılarak aynı değişkene yeniden değer ataması yapılır.

 

Mantıksal Operatörler

İki değer arasında kıyaslama yapılırken kullanılır.

  • Eşittir operatörü: ==
  • Eşit değildir operatörü: !=
  • Büyüktür operatörü: >
  • Küçüktür operatörü: <
  • Büyük eşittir operatörü: >=
  • Küçük eşittir operatörü: <=
  • Ve: &&
  • Veya: ||

İki değer arasında kıyaslama yapıldığında geriye true ya da false değerlerden biri döner.

/**
 * www.emreakcadag.com
 */

fun main() {

    var a = 19
    var b = 20
    var c = 19
    var d = 1919
    var x = true
    var y = false

    var comp = a != b			// println(comp) = true

    comp = a == b			// println(comp) = false

    comp = d > a			// println(comp) = true

    comp = a >= c			// println(comp) = true

    comp = d < b			// println(comp) = false

    comp = b <= d			// println(comp) = true

    comp = x && y			// println(comp) = false

    comp = x || y			// println(comp) = true
}

? ve !! Operatörleri

? operatörü, tipini belirlerdiğimz bir değişkene null değer atayabilmemize olanak sağlar.

/**
 * www.emreakcadag.com
 */

fun main() {

    var a:Int = 19

    var b:Int? = 1919

    a = null	 // bu satır hata verir.

    b = null	 // bu satır doğru çalışacaktır.

    a = b	 // bu satır hata verir.

    a = b!!	 // bu satır doğru çalışacaktır.
}

Hata aldığımız ilk satırda a değişkenine null değer atamaya çalıştık ancak a değişkeni nullable(null değer atanabilen) olmadığı için hata aldık. Bir değişkeni nullable yapabilmek için, o değişkenin türünün sonuna ? koymamız yeterlidir.

Hata aldığımız ikinci satırda ise yine nullable olmayan a değerine, nullable olan b değerini atamaya çalıştık. Program bize b'nin null gelebileceğini öngörerek hata verdi. Eğer b'nin null olmadığından eminsek; bu hatadan b değişkeninin sonuna !! ekleyerek kurtulabiliriz.

 

Dersimizin sonuna geldik, bir sonraki derste görüşmek dileğiyle!

Sorularınızı yorum bölümünden iletebilirsiniz.
Bu postu paylaş:

0 yorum

Yorum yapmak için giriş yapmanız gerekmektedir. Giriş yap
Henüz hesabınız yoksa 20 saniyenizi ayırıp kayıt olabilirsiniz. Kaydol