Kurs

Diğer pek çok uygulama ve programlama dili gibi, Scala da karar verme amaçlı koşullu if-else ifadelerine sahiptir. if ifadesinin yer aldığı koşullu bloktaki koşul Doğru bulunduğunda bu blok çalıştırılır; değilse (yalnızca else ifadesi varsa) else koşullu bloğu uygulanır.
Genel olarak, else ifadesinin bir koşulu yoktur; yalnızca if koşulu Yanlış olduğunda çalışır. Kısacası, if-else ifadeleri Doğru-Yanlış temelinde çalışan boole ifadelerinden oluşur.
Çeşitli if-else ifade türleri vardır:
- If ifadesi,
- If-Else ifadesi,
- İç içe If-else ifadesi,
- If-Else-If-Else ifadesi.
Farklı if-else ifadelerini öğrenmeye başlamadan önce, aşağıdaki adımları izleyerek Mac kullanıcıları için Scala ortamını hızlıca kuralım.
Not: Java’nın kurulu olduğundan emin olun; değilse lütfen buradaki talimatları izleyin.
- \$ brew update
- \$ brew install scala
- \$ brew install sbt
- \$ echo '-J-XX:+CMSClassUnloadingEnabled' >>
/usr/local/etc/sbtopts
- \$ echo '-J-Xmx2G' >> /usr/local/etc/sbtopts
Yukarıdaki adımları tamamladıktan sonra terminalde scala yazarak kurulumu hızlıca test edin; aşağıda gösterildiği gibi bir çıktı görmelisiniz.

Not: Bu eğitimde kodu vim düzenleyicisinde yazacak ve terminalden çalıştıracaksınız.
Scala if İfadesi
if ifadesi doğası gereği boolean (doğru veya yanlış) olan bir ifadeden oluşur. Eğer ifade doğruysa, if ifadesinin içindeki kod bloğu çalıştırılır; ifade yanlışsa, if ifadesinin bittiği satırın hemen ardından gelen ilk kod satırı çalıştırılır.
if(boolean expression)
{
execute if boolean expression holds true
}
Önce scala_if adlı bir object veya class tanımlayacaksınız; bu nesnenin içinde main fonksiyonunuzu ayarlayıp kodun ana gövdesini yazacaksınız. Değeri 20 olan bir tamsayı değişkeni x oluşturacaksınız. Son olarak, kodun özünü oluşturan x<=20 koşuluna sahip if bloğu gelir ve x değişkeninin değeri 20 olduğundan, if ifadesinin içindeki blok çalışacaktır.
Aşağıdaki kodu if.scala adıyla kaydedelim.

Yukarıdaki kodu çalıştırmak için tek yapmanız gereken scala if.scala yazmak; aşağıda gösterildiği gibi bir çıktı görmelisiniz.

Scala if-else İfadesi
if ifadesine benzer şekilde, if-else ifadesi de doğası gereği boolean (doğru veya yanlış) olan bir ifadeden oluşur. if ifadesi doğruysa, if ifadesinin içindeki kod bloğu çalıştırılır; yanlışsa else ifadesinin içindeki kod bloğu çalıştırılır.
if(boolean expression)
{
execute if boolean expression holds true
}
else
{
execute block if boolean expression (if statement) holds false
}
Aşağıdaki kod, x değişkeninin değeri 20’den büyük olduğu için else ifadesini çalıştıracaktır; bu nedenle else ifadesinin içindeki kod bloğu çalışır.
Aşağıdaki kodu if-else.scala adıyla kaydedelim.

Yukarıdaki kodu çalıştırmak için tek yapmanız gereken scala if-else.scala yazmak; aşağıda gösterildiği gibi bir çıktı görmelisiniz.

Scala İç İçe if-else İfadesi
Genellikle bir if ifadesini bir else ifadesi izlediği gibi, iç içe if-else ifadesi de aynı mantıktadır. İç içe if-else yapısında bir if veya else-if ifadesini, başka bir if veya else-if ifadesinin içinde kullanabilirsiniz.
Bir sonraki bölümde else-if ifadelerine bakacaksınız.
if(boolean expression 1)
{
execute block 1 if boolean expression 1 holds true**
if(boolean expression 2)
{
execute block 2 if boolean expression 1 and 2 holds true
}
}
Aşağıdaki kod, nested-if ifadelerini kullanarak $v$, $x$, $y$ ve $z$ adlı dört tamsayı değişkenini karşılaştırır ve son olarak tüm ifadeler doğruysa terminale çıktı yazar.
Aşağıdaki kodu nested-if-else.scala adıyla kaydedelim.


Scala else-if İfadesi
else-if ifadesi, if-else ifadelerine kıyasla daha etkileyicidir. If-else ifadelerinde bir else ifadesini bir if ifadesi izlerken, else-if başlı başına tek bir ifadedir. Çeşitli koşulları sınama özgürlüğü sağlar.
Bununla birlikte, else-if ifadelerini kullanırken akılda tutulması gereken birkaç kural vardır:
-
Bir
else-ifyalnızca birififadesinden sonra gelmelidir; birififadesi sıfır veya daha fazlaelse-ifiçerebilir. -
Benzer şekilde, bir
elseyalnızcaifveelse-ififadelerinden sonra gelmelidir; birififadesi sıfır veya bir adetelseifadesine sahip olabilir. -
Bir
else-ifbaşarılı olduğunda, geri kalan hiçbirelse-ifveyaelsedikkate alınmaz ve doğrudan atlanır.
if(boolean expression 1)
{
execute block 1 if boolean expression 1 holds true
}
else-if(boolean expression 2)
{
execute block 2 if boolean expression 2 holds true
}
else
{
execute this block if all of the above statements holds false
}
Sonuç
Eğitimi tamamladığınız için tebrikler.
Bu eğitim, Scala’da koşullu IF ELSE ifadelerini öğrenmek isteyen yeni başlayanlar için iyi bir başlangıç noktasıydı.
Küçük bir alıştırma olarak, Scala’da bir else-if ifadesi için kısa bir kod parçası yazıp bu ifadelerin diğerlerinden nasıl farklı olduğunu anlamaya çalışın.
Kaynaklar:
Lütfen bu eğitimle ilgili tüm sorularınızı aşağıdaki yorumlar bölümünde sormaktan çekinmeyin.
