Merhaba Arkadaşlar,
Mobilhanem.com sitemiz üzerinden anlattığımız Kotlin Derslerine bu dersimizde neredeyse tüm programlama dillerinde kullanılan ve çok önemli bir yapı olan if else koşul yapısından bahsedeceğiz. if ingilizcede eğer anlamına gelmektedir. Aynı şekilde programlama dillerinde de eğer anlamına gelmektedir. Genel yapısı aşağıdaki gibidir.
if Else Koşul Yapısı
Yukarıda gördüğünüz şemada koşul sağlanırsa koşul true dönecektir ve if bloğu içindeki işlemler yapılacaktır. Eğer false dönerse else bloğu içindeki işlemler yapılacaktır. Bunu kod olarak aşağıdaki gibi gösterebiliriz.
if Else
if(kosul){ //işlemler }else{ //işlemler }
Yukarıdaki koşul true ise if bloğu , false ise else bloğu çalışacaktır. Daha anlaşılır bir örnek ile devam edelim.
var deger1 = 52 var deger2 = 6 if(deger1 > deger2){ //deger1 büyüktür deger2 den dolayısıyla koşul true dönecek println("deger1 deger2 den büyüktür") }else{ println("deger1 deger2 den küçüktür") } Konsol Çıktısı: deger1 deger2 den büyüktür
Yukarıdaki örnekte deger1 ile deger2 ‘yi “>” operatörü kullanarak karşılaştırdık. Operatörler ile ilgili derslerimiz için Operatör – 1 ve Operatör – 2 derslerimizi okumanızı tavsiye ederiz. Çünkü if koşul yapısı Operatörler ile birlikte kullanılır. deger1 deger2 den büyük olduğu için koşulumuz true dönecek ve if bloğu içindeki kod çalışacaktır. Eğer false dönseydi else bloğu çalışacaktı.
var deger1 = 52 var deger2 = 6 if(deger1 < deger2){ //deger1 küçüktür deger2 den koşulu yanlış olduğu için false dönecek println("deger1 deger2 den küçüktür") }else{ println("deger1 deger2 den büyüktür") } Konsol Çıktısı: deger1 deger2 den büyüktür
Yukarıda koşulumuz false döndüğü için if bloğundaki kodlar değil else bloğundaki kodlar çalıştı. Else bloğu koşul sağlanmazsa yapılacak işlemler için vardır ve koşul sağlanmadığı durumda direk else bloğu çalışır. İf her zaman else ile birlikte kullanılmaz. Koşul sağlanmadığı durumlarda herhangi bir işlem yapmamız gerekmiyorsa else bloğunu kullanmayız ve if bloğunu tek başına kullanırız.
Sadece if
var hiz = 120 var hizSiniri = 90 if(hiz > hizSiniri){ println("Lütfen yavaş gidiniz!") } Konsol Çıktısı: Lütfen yavaş gidiniz!
Görüldüğü gibi hız değerimiz 90 dan büyük değilse yapmamız gereken bir şey yok. Sadece 90 dan büyük koşulunda uyarı yapıyoruz ve “Lütfen yavaş gidiniz!” uyarısı veriyoruz.
“if” – “else if” – “else” koşul yapısı
Yukarıda if else yapısının dışında birden çok kontrol sağlayacağımız “if” – “else if” – “else” yapımızda bulunmaktadır. Onuda aşağıdaki kod ile anlatmaya çalışacağım.
val x = 55 if (x > 90) { println("x 90'dan büyüktür") } else if (x >= 80) { println("x 90 ile 80 arasında") } else if (x >= 70) { println("x 80 ile 70 arasında") } else if (x >= 60) { println("x 70 ile 60 arasında") } else if (x >= 50) { println("x 60 ile 50 arasında") } else if (x >= 40) { println("x 50 ile 40 arasında") } else if (x >= 30) { println("x 40 ile 30 arasında") } else if (x >= 20) { println("x 30 ile 20 arasında") } else if (x >= 10) { println("x 20 ile 10 arasında") } else if (x >= 0) { println("x 10 ile 0 arasında") } else { println("x 0 'dan küçüktür") } Konsol Çıktısı: x 60 ile 50 arasında
Yukarıdaki örnekte birden fazla koşulu ayrı ayrı kontrol ettik. Koşullardan biri sağlandığı an (if ve ya else if içindeki koşullar) ilgili if ‘in bloğu çalışacak ve alt taraftaki else if ve else yapısı çalışmayacaktı. Eğer koşullardan hiç biri sağlanmasaydı else bloğu çalışacaktı ve “x 0’dan küçüktür” yazısını ekrana bastıracaktı.
Farkettiyseniz hep koşullarımızın içinde tek kontrol kullandık. Birden fazla kontrol kullanacağımız durumlar elbette olabilir. Örneğin verilen bir değerin 10 dan büyük 20 den küçük olmasını isteyebiliriz. İşte bunun için Operatör 2 dersimizde ki Mantıksal Operatörü incelemeniz gerekecek. Biz yinede kısaca anlatalım.
And (&&) ve OR (||) => ve – ve ya kullanımı
Bu konuyu Operatörler 2 dersinde Mantıksal Operatörler kısmında daha detaylı açıkladık. Şimdi sadece bir kaç örnekle geçeceğim.
if (x > 5 && x < 10) //x 5 ten büyük VE 10 dan küçükse (6,7,8,9) bu koşulları sağlar ve if bloğu çalışır { //işlemler } else // diğer tüm durumlarda else bloğu çalışır { //durumlar }
Yukarıda AND kullanımına basit bir örnek verdik. x değerimiz 8 olduğunu varsayarsak x 5 ten büyük olduğu için x>5 koşulu true dönecektir aynı şekilde x<10 true dönecektir. AND kullanımında tüm değerler true ise if bloğuna girecektir. true && true => true
x değerimizin 13 olduğunu varsayalım. x>5 koşulu true ancak x<10 değeri false dönecektir. true && false => false , Dolayısıyla koşulumuz false dönecek else bloğu çalışacaktır.
if(x>5 || y<10){ //işlemler }else{ //diğer durumlar }
Yukarıdaki kodda ise OR kullanımına örnek verdik.x değerimiz 7, y değerimiz 9 olsun. x>5 true, y<10 true dönecek , true || true => true dönecektir.
x değerimiz 7, y değerimiz 13 olsun. x>5 true, y <10 false dönecek , true || false => true dönecek
x değerimiz 3, y değerimiz 13 olsun. x>5 false,y < 13 false dönecek , false || false => false dönecek ve else bloğu çalışacak.
İf ile ilgili Bill Gates ‘in güzel bir anlatımı var. Onu izlemeden geçmeyelim.
Kotlin if Else Koşul Yapısı dersimizi burada sonlandırıyorum. Sizlere tavsiyem programlamada yeniyseniz kesinlike derslerimizi sırası ile takip etmenizdir. Aksi takdirde operatörleri anlamadan if Else Koşul Yapısı’nı anlamanız daha zor olacaktır.
Bir sonraki dersimizde When yapısı kullanımı ile devam edeceğiz. When Javada ki switch – case kullanımının yerini almıştır. Bir sonraki dersimde detaylı anlatmaya çalışacağız. Bir sonra ki dersimizde görüşmek dileğiyle…
Konu hakkında sorularınızı konu altından ve ya SoruCevap sitemizden sorabilirsiniz.
Tüm Kotlin Dersleri için tıklayınız.
11
Kotlin ders serinizi keyif ile takip ederek buraya kadar geldim. Bilgiyi paylaştığınız ve kendinize saklamadığınızdan dolayı, en azından öğrenmek isteyene bu fırsat eşitliği sunduğunuz için çok teşekkürler.
Mevlana’nın bir sözünü sizle paylaşmak istiyorum: Bir mum, diğer mumu tutuşturmak ile ışığından bir şey kaybetmez.
(Bu mesajı yazmak için beni motive eden bu güzel video paylaşımı için de ayrıca teşekkür ederim.)
Geç oldu biraz ama yorum için teşekkür ederim.
Hocam, ben 4 seçenekli bir resimli bilgi yarışma uygulaması yapıyorum farzedersek, A şıkkını tıklarsam soru 2 ye geçip tüm image’lar değişsin gibi birşey yapmak istiyorum basit bir kod bloğu var mı?
Şu nu bulamadım en basit haliyle sorayım,
imageView deki resme tıklayınca drawable deki diğer resim açılsın istiyorum, bu nasıl olabilir?
Üstad bunu hallettim pc başındayken sonucu yazarım. Şimdi merak ettiğim butona basar basmaz deaktif etmek ve tireşim ile ses yapmak nasıl mümkün olur if else yapısı ile şartlı bir şekilde…