Kotlin’de Operatörler

Merhabalar, bugün Kotlin dilinde operatörler konusuna bakacağız.

Operatörler, program içinde karşılaştırma, matematiksel ve mantıksal işlemlerin yapılmasını sağlayan sembollerdir. Bütün programlama dillerinde bulunan operatörler ile bir program içerisinde istenilen işlemleri yapabilirsiniz.


Aritmetik Operatörler

Program içerisinde matematiksel işlemler yapabilmemizi sağlayan operatörlerdir. Aritmetik operatörleri kullanarak toplama, çıkarma, çarpma, bölme ve mod işlemlerini yapabiliriz.

fun main(args: Array<String>) {

    val number1 = 12
    val number2 = 6
    var result: Int

    // toplama işlemi
    result = number1 + number2
    println("$number1 + $number2 = $result")

    // çıkarma işlemi
    result = number1 - number2
    println("$number1 - $number2 = $result")

    // çarpma işlemi
    result = number1 * number2
    println("$number1 * $number2 = $result")

    // bölme işlemi
    result = number1 / number2
    println("$number1 / $number2 = $result")

    // mod işlemi
    result = number1 % number2
    println("$number1 % $number2 = $result")

}
12 + 6 = 18
12 - 6 = 6
12 * 6 = 72
12 / 6 = 2
12 % 6 = 0

Basit bir örnek ile öğrendiklerimizi denemiş olduk. İki sayının birbirlerine göre durumlarını ele aldık. Ekran çıktısıda yukarıdaki gibidir.


Atama Operatörleri

Atama operatörleri sıklıkla kullanılmaktadır. Temel kullanım amacı, değişkene değer atanmasını veya bir başka değişkendeki değeri diğer bir değişkene atamayı sağlamaktadır.

fun main(args: Array<String>) {

    var num1 : Float = 11f
    var num2 : Float = 4f

    num2 += num1 // num2 = num2 + num1
    println("num2 : $num2")

    num2 -= num1 // num2 = num2 - num1
    println("num2 : $num2")

    num2 *= num1 // num2 = num2 * num1
    println("num2 : $num2")

    num2 /= num1 // num2 = num2 / num1
    println("num2 : $num2")

    num2 %= num1 // num2 = num2 % num1
    println("num2 : $num2")
}

2 adet float tipte sayı tanımladık. Atama operatörlerini kullanarak 5 adet işlem yaptık. Sonuçlar aşağıdaki gibidir.

num2 : 15.0
num2 : 4.0
num2 : 44.0
num2 : 4.0
num2 : 4.0

Karşılaştırma Operatörleri

Değişken veya veriler arasında karşılaştırma yapmak istenildiğinde kullanılan operatörlerdir.

fun main(args: Array<String>) {

    var number1 = 14
    var number2 = 7
    var result : Boolean

    // number1, number2 den küçük olmadığı için false döner
    result = number1 < number2
    println("$number1 < $number2 : $result ")

    // number1, number2 den büyük olduğu için true döner
    result = number1 > number2
    println("$number1 > $number2 : $result ")

    // number1, number2 den küçük veya eşit olmadığı için false döner
    result = number1 <= number2
    println("$number1 <= $number2 : $result ")

    // number1, number2 den büyük olduğu için true döner.Eşit değildir.
    result = number1 >= number2
    println("$number1 >= $number2 : $result ")

    // number1, number2 eşit değildir false döner.
    result = number1 == number2
    println("$number1 == $number2 : $result ")

    // number1, number2 eşit olmadığı için true döner.
    result = number1 != number2
    println("$number1 != $number2 : $result ")
}
14 < 7 : false 
14 > 7 : true 
14 <= 7 : false 
14 >= 7 : true 
14 == 7 : false 
14 != 7 : true 

Int tipinde iki sayının birbirlerine göre durumları incelendi. Sizlerde istediğiniz rakamlarda bu tip karşılaştırma operatörlerini kullanabilirsiniz.


Mantıksal Operatörleri

Program içerisinde mantıksal işlemler yapılmasını sağlayan operatörlerdir. Sıklıkla karşılaştırma operatörüyle beraber kullanılır. Mantıksal operatörler hem yazılımda hem de lojik devrelerde kullanılır.

AND (VE) Operatörü

VE operatörü çarpma işlemine benzemektedir. Bu operatör kullanıldığında yapılan işlemin sonucu true çıkması için tüm verilerin true olması gerekir.

Deger-1Deger-2Sonuc
falsefalsefalse
truefalsefalse
falsetruefalse
truetruetrue

VE operatörü Kotlin dilinde && karakteri ile temsil edilir.

fun main(args: Array<String>) {

    val num1 : Int = 12
    val num2 : Int = 9

    println(num1 == 12 && num2 == 9)
}

Örneğimizde iki değer karşılaştırılması yapılmaktadır. num1 değeri 12 olduğu için ilk koşul true. num2 değeride 9 olduğu için ikinci koşulda true. Bu iki koşul true && true işleminde true değerini döndürecek.

true

OR (VEYA) Operatörü

VEYA operatörü toplama işlemine benzemektedir. Bu operatör kullanıldığında yapılan işlemin sonucu true çıkması için tek bir verinin true olması gerekir.

Deger-1Deger-2Sonuc
falsefalsefalse
truefalsetrue
falsetruetrue
truetruetrue

VEYA operatörü Kotlin dilinde || karakteri ile temsil edilir.

fun main(args: Array<String>) {

    val num1 : Int = 4
    val num2 : Int = 10

    println(num1 < 3 || num2 > 9)
}

Örneğimizde iki değer karşılaştırılması yapılmaktadır. num1 değeri 4 koşuldaki gibi 3 ten küçük değildir. İlk koşul false. num2 değeride 10 ve koşulda 9 değerinden büyük olduğu için ikinci koşulda true. Bu iki koşul false || true işleminde true değerini döndürecek.

true

NOT (DEĞİL) Operatörü

Mantıksal Değil operatörü boolean tipinde bir sonucun tersini vermektedir.

DeğerSonuc
TrueFalse
FalseTrue

DEĞİL operatöründe gelen veri false ise true, true ise false üretir. Kotlin’de DEĞİL operatörü ! karakteri ile temsil edilir.

fun main(args: Array<String>) {
    println(!false)
    println(!true)
}
true
false

İlk print() metodunda false değeri NOT işlemine sokuldu. Değeri true olarak güncellendi. İkinci print() metodunda ise true değeri aynı işleme sokuldu. Onun değeri ise false olarak update edildi.

Arttırma ve Azaltma Operatörleri

Arttırma operatörü sayının değerini 1 arttırırken, azaltma operatörü sayının değerini 1 azaltır.

fun main(args: Array<String>) {

    var number1 = 8
    var number2 = 3

    // arttırma değeri - number1 = number1 + 1
    number1++
    println(number1)

    // azaltma değeri - number1 = number1 - 1
    number2--
    println(number2)
}
9
2

Arttırma ve azaltma operatörüyle ilgili örneğimizde sayıların değerlerini 1 arttırıp, 1 azalttık.


Projenin kodlarına aşağıdaki linkten ulaşabilirsiniz :

Operatorler

Evet, bugün sizlerle beraber Operatorlerin kullanımını öğrendik. İlerleyen yazılarda görüşmek üzere hoşçakalın 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir