美文网首页
Scala编程基础8:if-else语句

Scala编程基础8:if-else语句

作者: 金字塔下的小蜗牛 | 来源:发表于2020-04-08 08:15 被阅读0次

Scala中的if-else语句是根据一个逻辑表达式的真值(true或者false)来决定是否执行相应的代码。下图说明了if-else语句的执行过程:

image

1.if语句

if语句由布尔型表达式及后面的语句块组成,格式如下:

if(布尔表达式)
{
// 如果布尔表达式为 true 则执行该语句块
}

如果布尔表达式为 true 则执行大括号内的语句块,否则跳过大括号内的语句块,执行大括号之后的语句块。

举个例子:编辑一个Test1.scala的文本文件,内容如下:

object Test1 {
    def main(args: Array[String]) {
        var x = 10;
        if(x < 20){
            println("x < 20");
        }
    }
}

编译并执行Test1.scala文件,结果如下:

E:\Test>scalac Test1.scala
E:\Test>scala Test1
x < 20

2.if-else语句

if语句后面可以紧跟一个else语句,else内的语句块在表达式值为false时执行,格式如下:

if(布尔表达式){
// 如果布尔表达式为 true 则执行该语句块
}else{
// 如果布尔表达式为 false 则执行该语句块
}

举个例子:编辑一个Test2.scala的文本文件,内容如下:

object Test2 {
    def main(args: Array[String]) {
        var x = 30;
        if(x < 20){
            println("x < 20");
        }
        else{
            println("x > 20");
        }
    }
}

编译并执行Test2.scala文件,结果如下:

E:\Test>scalac Test2.scala
E:\Test>scala Test2
x > 20

3.if-else if-else语句

如果存在多个判断条件,则可以在if-else之间加上若干个else if语句,格式如下:

if(布尔表达式 1){
// 如果布尔表达式 1 为 true 则执行该语句块
}else if(布尔表达式 2){
// 如果布尔表达式 2 为 true 则执行该语句块
}else if(布尔表达式 3){
// 如果布尔表达式 3 为 true 则执行该语句块
}else {
// 如果以上条件都为 false 执行该语句块
}

举个例子:编辑一个Test3.scala的文本文件,内容如下:

object Test3 {
def main(args: Array[String]) {
var x = 30;
if(x == 10){
println("x = 10");
}
else if(x == 20){
println("x = 20");
}
else if(x == 30){
println("x = 30");
}
else{
println("unkonwn x");
}
}
}

编译并执行Test3.scala文件,结果如下:

E:\Test>scalac Test3.scala
E:\Test>scala Test3
x = 30

4.if-else嵌套语句

上面三种情况都是只有一层条件,如果需要在一层分类条件下面再有一层分类条件的话,则可以在if-else if-else语句中嵌套一层if-else if-else语句,当然如果需要,可以没有else if语句或者else语句。嵌套可以有多层,视情况而定。格式如下:

if(布尔表达式 1){
// 如果布尔表达式 1 为 true 则执行该语句块
if(布尔表达式 3){
// 如果布尔表达式 3 为 true 则执行该语句块
}
else if(布尔表达式 4){
// 如果布尔表达式 4 为 true 则执行该语句块
}
}
else if(布尔表达式 2){
// 如果布尔表达式 2 为 true 则执行该语句块
if(布尔表达式 5){
// 如果布尔表达式 5 为 true 则执行该语句块
}
else if(布尔表达式 6){
// 如果布尔表达式 6 为 true 则执行该语句块
}
else{
// 如果布尔表达式 5 和 6 同时为 false 则执行该语句块
}
}
else{
// 如果布尔表达式 1 和 2 同时为 false 则执行该语句块
if(布尔表达式 7){
// 如果布尔表达式 7 为 true 则执行该语句块
} else{
// 如果布尔表达式 7 为 false 则执行该语句块
}
}

举个例子:编辑一个Test4.scala的文本文件,内容如下:

object Test4 { 
    def main(args: Array[String]) {
        var score = 83;
        if(score >= 90){
            if(score <= 95){
                println("A-");
            }
            else{
                println("A+");
            }
        }
        else if(score >= 70){
            if(score <= 75){
                println("B-");
            }
            else if(score <= 85){
                println("B");
            }
            else{
                println("B+");
            }
        }
        else{
            if(score <= 60){
                println("F");
            }
            else{
                println("C");
            }
        }
    }
}

编译并执行Test4.scala文件,结果如下:

E:\Test>scalac Test4.scala
E:\Test>scala Test4
B

相关文章

网友评论

      本文标题:Scala编程基础8:if-else语句

      本文链接:https://www.haomeiwen.com/subject/fajkdhtx.html