Scala If-Else语句示例教程

时间:2020-02-23 14:41:47  来源:igfitidea点击:

Scala If-Else语句是一个决策语句,如果该语句为true,则执行条件代码,否则执行else块代码。
决策代码几乎存在于每种应用程序和每种编程语言中,因此本文将介绍if-else Scala编程语言的语法和用法。

Scala If语句

if语句由布尔表达式组成,后跟一个或者多个语句。

if语句的语法是

if(boolean_expression) {
statements
}

如果布尔表达式为true,则执行if块中的语句;否则,如果if为false,则终止if块,并执行if块之外的语句。

考虑if语句的示例;

object Student {

def main(args:Array[String]) {
var studmarks = 75

if( studmarks > 65) {
studmarks += 20
println("Student passed the exam with distinction")
}
}
}

我们使用main方法创建了Student对象。
变量studmarks的初始值为75。
在if块中,如果分数大于65,则分数递增20,并打印"学生以优异的成绩通过考试"的语句。
由于标记被初始化为75(大于65),因此将执行if循环语句。

输入" Student.main(null)"运行以上代码,您将看到"学生以优异的成绩通过考试"的输出。

到目前为止,我已经使用Scala shell运行程序,我们还可以将Scala类保存在扩展名为.scala的文件中,然后编译并运行它。
将上面的代码保存在名为" Student.scala"的文件中,然后运行以下所示的命令进行编译和执行。
编译后,您还将看到一些创建的.class文件。

hyman:~ hyman$scalac Student.scala 
hyman:~ hyman$scala Student
Student passed the exam with distinction
hyman:~ hyman$

Scala If else语句

if语句之后可以是else语句,如果if条件为false,则执行else语句。

if else语句的语法为;

if(boolean_expression) {
statements
} else {
statements
}

如果布尔表达式为true,则执行if块语句;如果if条件返回false,则执行else块中的语句。

考虑一个if else语句的例子;

object Student {

def main(args:Array[String]) {
var marks = 55

if( marks > 65) {
marks += 20
println("Student passed the exam with distinction")
} else {
println("Student marks is less than 65")
}
}
}

我们正在使用main方法创建对象Student。
变量标记用值55初始化。
if语句返回false,因此将控制权转移到else块,并执行else块中的语句。
由于标记的值为55,因此if语句返回false并打印"学生标记小于65"的else语句块。

通过输入Student.main(null)来运行上面的代码,您会看到输出结果为"学生分数小于65"。
同样,您可以将代码保存在文件中,并使用scalac和scala命令进行编译/运行。

Scala If Else-If Else语句

if语句后可以跟多个else-if else语句,这些语句可用于在单个if else if语句中测试多个条件。

if(boolean_expression1) {
statements
} else if(boolean_expression2) {
statements
} else if(boolean_expression3) {
statements
} else if(boolean_expression4) {
statements
} else {
statement
}

如果boolean_expression1返回true,则将执行if块之后的语句,否则将控制转移到else if语句,如果boolean_expression2返回true,则将执行else else之后的语句,如果执行了else块,则控制权转移到下一个else if块和if boolean_expression 3返回true,则执行该块中的语句,否则将控制权转移到下一个else if语句,如果boolean_expression 4返回true,则执行else块中的语句。
如果上述布尔表达式都不满足,则执行语句的else块。

考虑一个例子。

object Student {

def main(args:Array[String]) {
var marks = 80
if(marks == 60 ) {
println("Grade is C")
} else if(marks == 70) {
println("Grade is B")
} else if(marks == 80) {
println("Grade is A")
} else if(marks == 90) {
println("Grade is A+")
} else {
println("Student is not performing well hence no grade is awarded")
}
}
}

其中我们使用main方法创建一个Student对象,并且将变量标记初始化为值80。
有多个else if语句检查标记60,70、80和90,如果布尔表达式满足,则else if语句被执行。
如果没有一个表达式满足,则应执行else块语句。
由于标记值是90,因此将执行此块的else if语句。

通过在Scala shell中键入Student.main(null)来运行上述代码,您将获得" Grades is A"的输出。

Scala嵌套If Else语句

一个if语句可以嵌套在另一个Scala支持的if语句中。

语法是

if(boolean_expression1) {

statements

if(boolean_expression2) {

statements

}

}

考虑一个例子;

object Student {

def main(args:Array[String]) {
var marks = 70
var id =10

if(id == 10 ) {
if( marks == 70) {
println("Student id is 10 and marks secured is 70")
}
}
}
}

其中我们通过分别用值70和10初始化标记和id来创建Student对象。
我们首先使用两个if语句,如果id为10且标记为70,则该语句将被执行。