Ders 8 - Scala IF ELSE Kullanımı

10 Haz 2016 · 4 dk okuma süresi

Aşağıdaki diyagram IF...ELSE yapısının tüm programlama dillerindeki akış şeklidir:

scala_decision_making

if İfadesi:

if yapısı içerisinde bir veya birden fazla Boolean ifadesinden meydana gelmesiyle oluşan yapıdır.

Syntax (sözdizimi):

if yapısının syntax(sözdizimi) yani kullanım şekli aşağıdaki gibidir:

if(Boolean_expression)
{
  // Eğer Boolean ifadesi true ise bu kod bloku işleyecektir.
}

Eğer Boolean ifadesinin doğru(true) olduğuna karar verilirse if yapısının içerisindeki blok çalışacaktır, eğer ifade doğru değilse(false) kod if yapısının blokunun bitişinden itibaren çalışmaya devam eder ve böylece ifade yanlış olduğu için içerisindeki kod bloku atlanmış olur.

Örnek:

object Test {
  def main(args: Array[String]) {
    var x = 10;
    if( x < 20 ){
      println("Bu IF yapısı");
    }
  }
}

Yukarıdaki kodun çıktısı bu şekilde olacaktır:

C:/>scalac Test.scala
C:/>scala Test
Bu IF yapısı
C:/>

if…else İfadesi:

if yapısının arkasına isteğe bağlı olarak else ifadesi gelmesi durumunda oluşan yapıdır. Boolean ifadesinin yanlış(false) olması durumunda else ifadesinin içerisindeki kod bloku çalışır.

Syntax (sözdizimi):

if...else ifadesinin syntax(sözdizimi) yani kullanım şekli aşağıdaki gibidir:

if(Boolean_expression){
  // Boolean ifadesi true olduğu takdirde burası çalışacaktır
}else{
 // Boolean ifadesi false olduğu takdirde burası çalışacaktır
}

Örnek:

object Test {
  def main(args: Array[String]) {
    var x = 30;
    if( x < 20 ){
      println("Bu IF ifadesi");
    }else{
      println("Bu ELSE ifadesi");
    }
  }
}

Üstteki kodun çıktısı bu şekilde olacaktır:

C:/>scalac Test.scala
C:/>scala Test
Bu ELSE ifadesi

C:/>

if…else if…else İfadesi:

if ifadesinin arkasında isteğe bağlı olarak else if  gelmesi durumunda oluşan yapıdır. Birden fazla koşulun meydana gelebilecek olması durumunda kullanışlı bir yapıdır. if, else if, else ifadelerini kullanırken bilmeniz gereken birkaç nokta var.

  • Bir if yapısı sıfır veya benzeri bir değere sahip oluyorsa tüm else if yapılarından sonra kontrol edilmelidir.
  • if yapısı birden çok sıfır veya benzeri else if yapılarından oluşuyorsa else yapısından önce gelmelidir.
  • if yapısının koşullarından herhangi biri sağlanırsa geri kalan diğer hiçbir koşul test edilmeyecektir.

Syntax (sözdimizi):

if...else yapısının syntax(sözdizimi) yani kullanım şekli aşağıdaki gibidir:

if(Boolean_expression 1){
  //1 numaralı Boolean ifadesi true ise burası işleyecektir
}else if(Boolean_expression 2){
  //2 numaralı Boolean ifadesi true ise burası işleyecektir
}else if(Boolean_expression 3){
  //3 numaralı Boolean ifadesi true ise burası işleyecektir
}else {
  //üstteki 3 koşulda sağlanmadığı durumda burası işleyecektir.
}

Örnek:

object Test {
  def main(args: Array[String]) {
    var x = 30;
    if( x == 10 ){
      println("X'in değeri 10");
    }else if( x == 20 ){
      println("X'in değeri 20");
    }else if( x == 30 ){
      println("X'in değeri 30");
    }else{
      println("Burası ELSE ifadesi");
    }
  }
}

Üstteki kodun çıktısı bu şekilde olacaktır:

C:/>scalac Test.scala
C:/>scala Test
X'in değeri 30

C:/>

İç içe if…else İfadesi (Nested if…else):

İç içe if-else kullanımı legaldir. Yani, if veya else if ifadelerini herhangi bir if veya else if ifadesi içerisinde kullanabilirsiniz.

Syntax (Sözdizimi):

İç içe if...else ifadesinin syntax(sözdizimi) yani kullanım şekli aşağıdaki gibidir:

if(Boolean_expression 1){
  //1 numaralı Boolean ifadesi true ise burası çalışır
  if(Boolean_expression 2){
    //2 numaralı Boolean ifadesi true ise burası çalışır
  }
}

Aşağıdaki görüldüğü gibi iç içe if...else kullanarak farklı ifadeler elde edebiliriz.

Örnek:

object Test {
  def main(args: Array[String]) {
    var x = 30;
    var y = 10;
    if( x == 30 ){
      if( y == 10 ){
        println("X = 30 ve Y = 10");
      }
    }
  }
}

Üstteki kodların çıktısı bu şekildedir:

C:/>scalac Test.scala
C:/>scala Test
X = 30 ve Y = 10

C:/>