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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
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
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
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.
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.
2