Aşağıdaki diyagram IF...ELSE
yapısının tüm programlama dillerindeki akış şeklidir:
if
yapısı içerisinde bir veya birden fazla Boolean ifadesinden meydana gelmesiyle oluşan yapıdır.
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.
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 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.
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
}
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 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.
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.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.
}
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 kullanımı legaldir. Yani, if
veya else if
ifadelerini herhangi bir if
veya else if
ifadesi içerisinde kullanabilirsiniz.
İç 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.
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:/>