Kotlin Dersleri – Kotlin Operatörler – 2

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

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.

Operatör KategorisiOperatö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.

2

Yorum Yap
0 Yorum yapan