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.

Örneğin:
/**
* 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.