Kotlin Dersleri – Kotlin Operatörler – 2

Merhaba Arkadaşlar,
Mobilhanem.com sitemiz üzerinden anlattığımız / yayınladığımız Kotlin Dersleri serimize bu dersimizde Kotlin Operatörler dersinin 2. dersi ile devam ediyoruz. Bir önceki dersimizde Basit Atama Operatöri , Tekil Operatörler ve Aritmetik operatörlerden bahsetmiştik. Bu dersimizde ise İlişkisel ve eşitlik Operatörü’nden , Mantıksal Operatörler’den ve Karşılaştırma Operatörü’nden bahsedeceğiz. Bir önceki dersimiz için tıklayınız.

Kotlin Operatörler

1 – Basit Atama Operatörü (Ders 1’de anlatıldı)

2 – Aritmetik Operatörler (Ders 1’de anlatıldı)

3 – Tekli Operatörler (Ders 1’de anlatıldı)

4 – Eşitlik ve İlişkisel Operatörler

5 – Mantıksal  Operatörler

6 – Karşılaştırma Operatörleri

Biz bu dersimizde 4, 5  ve 6 numaralı Operatörleri inceleyeceğiz.

Eşitlik ve İlişkisel Operatörler

Eşitlik ve İlişkisel Operatörler iki farklı değişkenin eşitliğini veya arasındaki ilişkiye yönelik farklılıkları ortaya çıkarmaya yarayan operatörlerdir.

  • ==(eşittir),
  • !=(eşit değildir)
  • > (büyüktür)
  • <(küçüktür)
  • >=(büyük eşittir)
  • <= (küçük eşittir) operatörlerinden oluşur. Operatörleri aşağıdaki örnekle daha iyi anlayabilirsiniz:
var deger1 = 52
var deger2 = 52
println ("deger1 = " + deger1 + " deger2 = "+deger2)
println("deger1 değer2 ye eşit midir ? "+(deger1 == deger2) ) //true
println("deger1 değer2 den büyük müdür ? "+(deger1 > deger2) ) //false
println("deger1 değer2 den küçük müdür ? "+(deger1 < deger2) ) //false
    
println("------------------------------------------------------")    
    
deger1 = 52
deger2 = 6
println ("deger1 = " + deger1 + " deger2 = "+deger2)
println("deger1 değer2 ye eşit midir ? "+(deger1 == deger2) )//false
println("deger1 değer2 den büyük müdür ? "+(deger1 > deger2) ) //true
println("deger1 değer2 den küçük müdür ? "+(deger1 < deger2) ) //false
    
println("------------------------------------------------------")    

deger1 = 6
deger2 = 52
println ("deger1 = " + deger1 + " deger2 = "+deger2)
println("deger1 değer2 ye eşit midir ? "+(deger1 == deger2) ) //false
println("deger1 değer2 den büyük müdür ? "+(deger1 > deger2) ) //false
println("deger1 değer2 den küçük müdür ? "+(deger1 < deger2) ) //true

Konsol Çıktısı:
deger1 = 52 deger2 = 52
deger1 değer2 ye eşit midir ? true
deger1 değer2 den büyük müdür ? false
deger1 değer2 den küçük müdür ? false
------------------------------------------------------
deger1 = 52 deger2 = 6
deger1 değer2 ye eşit midir ? false
deger1 değer2 den büyük müdür ? true
deger1 değer2 den küçük müdür ? false
------------------------------------------------------
deger1 = 6 deger2 = 52
deger1 değer2 ye eşit midir ? false
deger1 değer2 den büyük müdür ? false
deger1 değer2 den küçük müdür ? true

Yukarıdaki örnekte görüldüğü üzere

  • “== “operatörü iki değer eşit olduğunda true , eşit değilse false
  • “>” operatörü ilk değer ikinci değerden büyükse true , değilse false
  • “<” operatörü ilk değer ikinci değerden küçükse true , değilse false döner.

Bunların dışında >=(büyük eşit) ve <= (küçük eşit)  operatörleri bulunur. Aşağıdaki örnekte kullanımını anlatmaya çalışacağız.

var deger1 = 52
var deger2 = 52
println ("deger1 = " + deger1 + " deger2 = "+deger2)
println("deger1 değer2 ye eşit midir ? "+(deger1 == deger2) )
println("deger1 değer2 den büyük müdür ? "+(deger1 > deger2) )
println("deger1 değer2 den küçük müdür ? "+(deger1 < deger2) )
println("deger1 değer2 den büyük eşit midir ? "+(deger1 >= deger2) )
println("deger1 değer2 den küçük eşit midir ? "+(deger1 <= deger2) )
    
println("----------------------------------------------------")

deger1 = 52
deger2 = 6
println ("deger1 = " + deger1 + " deger2 = "+deger2)
println("deger1 değer2 ye eşit midir ? "+(deger1 == deger2) )
println("deger1 değer2 den büyük müdür ? "+(deger1 > deger2) )
println("deger1 değer2 den küçük müdür ? "+(deger1 < deger2) )
println("deger1 değer2 den büyük eşit midir ? "+(deger1 >= deger2) )
println("deger1 değer2 den küçük eşit midir ? "+(deger1 <= deger2) )

Konsol Çıktısı : 

deger1 = 52 deger2 = 52
deger1 değer2 ye eşit midir ? true
deger1 değer2 den büyük müdür ? false
deger1 değer2 den küçük müdür ? false
deger1 değer2 den büyük eşit midir ? true
deger1 değer2 den küçük eşit midir ? true
----------------------------------------------------
deger1 = 52 deger2 = 6
deger1 değer2 ye eşit midir ? false
deger1 değer2 den büyük müdür ? true
deger1 değer2 den küçük müdür ? false
deger1 değer2 den büyük eşit midir ? true
deger1 değer2 den küçük eşit midir ? false

 

  • “>=”  operatörü iki değer eşit veya ilk değer ikincisinden büyükse true , ilk değer ikincisinden küçükse false
  • “=<” operatörü iki değer eşit veya ilk değer ikincisinden küçükse true , ilk değer ikincisinden büyükse  false döner

Mantıksal Operatörler

Birden fazla Eşitlik ve İlişkisel operatörü aynı statement(koşul yapısı) içinde kullanılmasını sağlayan operatörlerdir diyebiliriz.

  • && ve
  • || veya
  • ! (NOT yani değili) şeklinde Kotlin dilinde kullanacağımız mantıksal operatörlerdir.

Öncelikle tablo üzerinden göstermeye çalışalım.

 

 Operator   Açıklama  Örnek
       && Mantıksal AND operatörü.
Eğer iki taraftaki değişken
de true değilse false döner
 A = true , B = true

(A && B) true döner


A = true , B = false

(A &&B ) false döner


A = false , B = false

(A &&B ) false döner

         || Mantıksal OR operatörü.
Eğer operatörün iki
tarafındaki değişkenlerden birisi
true ise sonuç  true döner.
 A = true , B = true

(A || B) true döner


A = true , B = false

(A || B ) true döner


A = false , B = false

(A || B ) false döner

        ! Mantıksal NOT operatörü.
true değeri false a,
false değeri true’ya çevirir
 A = true , B false

(A && B) false döner

!(A && B) true değer döner..

Gelelim örneklerimize :

val deger1 = 52
val deger2 = 6
val strDeger1 = "mobilhanem.com"
val strDeger2 = "mobilhanem"
 
 
println ((deger1 < deger2) && (strDeger1.contains(strDeger2))) // false && true => false
println (!(deger1 < deger2) && (strDeger1.contains(strDeger2))) // !false && true = true && true => true
println((deger1 == deger2) || (strDeger1.contains(strDeger2))) //false || true => true
println((deger1 < deger2) || (strDeger1 == strDeger2)) //false || false => false

Konsol Çıktısı:
false 
true 
true 
false

Karşılaştırma Operatörleri

Karşılaştırma operatörü ile bir objenin verilen bir sınıftan mı türetildiği sorusuna cevap bulmak için kullanılır.

Örnek üzerinden daha rahat anlayabiliriz :

	var deg1 = "Mobilhanem"
	var deg2 = 52
    
	println("deg1 is String: " + (deg1 is String)) //true
	println("deg is Int: " + (deg1 is Int)) //false
	println("deg1 is Float: " + (deg1 is Float)) //false
        println("deg2 is String: " + (deg2 is String))//false
  	println("deg2 is Int: " + (deg2 is Int)) //true
  	println("deg2 is Float: " + (deg2 is Float))  //false

Arkadaşlar bizim anlatacak olduğumuz Kotlin Operatörler‘i bu kadar. Konuyu bitirmeden önce şuna değineceğim. Bir önceki dersimizde Aritmetik işlemlerde işlem sıralamasından bahsetmiştik. Aslında bu işlem sırası sadece Aritmetik işlemler için değil tüm operatörler için geçerlidir. Karışık bir statement ‘ta(koşul yapısında) önce && (ve) mi yapacam yoksa %mod mu alacam , yoksa !(not) işlemi mi gerçekleştiricem sorusunun cevabı aşağıdaki tablodadır. Aşağıdaki tablo operatörlerdeki öncelik sırasını vermektedir.

Operatör Kategorisi Operatörler
Tekil x++, x–, ++x , –x
Çarpimsal,Bölme ,Mod * / %
Toplamsal, Çıkarma + –
Iliskisel < ,> ,<=, >=
Eşitlik == ,!=
Mantıksal Ve (AND) &&
Mantıksal VEYA (OR) ||
Atama (Assignment) = ,*= , /= , %= , += , -=

Kotlin Operatörler dersimizin sonuna geldik. Bir sonraki dersimizde if ve if else koşul yapıları ile devam edeceğiz. Kendinize iyi bakın.

Konu hakkında sorularınızı konu altından ve ya SoruCevap sitemizden sorabilirsiniz.

Tüm Kotlin derslerimiz için tıklayınız.

12

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

1 Yorum

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?