斯卡拉 |决策(if、if-else、嵌套 if-else、if-else if)
编程中的决策类似于现实生活中的决策。在决策制定中,当满足给定条件时执行一段代码。有时这些也称为控制流语句。 Scala 使用控制语句根据特定条件控制程序的执行流程。这些用于根据程序状态的变化使执行流程前进和分支。
Scala 的条件语句是:
- 如果
- 如果别的
- 嵌套 if-else
- if-else if 阶梯
if 语句
“ if ”语句是所有决策语句中最简单的决策语句。在此语句中,代码块仅在给定条件为真时执行,如果条件为假,则该代码块将不会执行。
句法:
if(condition)
{
// Code to be executed
}
在这里,评估后的条件将是真或假。 if 语句接受布尔值——如果值为真,那么它将执行它下面的语句块。
如果我们在if(condition)之后不提供花括号“{”和“}”,那么默认情况下,if 语句将认为直接一条语句位于其块内。
例子:
if(condition)
statement1;
statement2;
// Here if the condition is true, if block
// will consider only statement1 to be inside
// its block.
流程图:
例子:
// Scala program to illustrate the if statement
object Test {
// Main Method
def main(args: Array[String]) {
// taking a variable
var a: Int = 50
if (a > 30)
{
// This statement will execute as a > 30
println("GeeksforGeeks")
}
}
}
输出:
GeeksforGeeks
if-else 语句
单独的 if 语句告诉我们,如果条件为真,它将执行一个语句块,如果条件为假,则不会。但是,如果条件为假,我们想做其他事情怎么办。 else 语句来了。当条件为假时,我们可以使用 else 语句和 if 语句来执行代码块。
句法:
if (condition)
{
// Executes this block if
// condition is true
}
else
{
// Executes this block if
// condition is false
}
流程图:
例子:
// Scala program to illustrate the if-else statement
object Test {
// Main Method
def main(args: Array[String]) {
// taking a variable
var a: Int = 650
if (a > 698)
{
// This statement will not
// execute as a > 698 is false
println("GeeksforGeeks")
}
else
{
// This statement will execute
println("Sudo Placement")
}
}
}
输出:
Sudo Placement
嵌套 if-else 语句
嵌套 if是一个if 语句,它是另一个if-else语句的目标。嵌套if-else语句是指 if 语句或 else 语句中的if-else语句。 Scala 允许我们在 if-else 语句中嵌套if- else语句。
句法:
// Executes when condition_1 is true
if (condition_1)
{
if (condition_2)
{
// Executes when condition_2 is true
}
else
{
// Executes when condition_2 is false
}
}
// Executes when condition_1 is false
else
{
if (condition_3)
{
// Executes when condition_3 is true
}
else
{
// Executes when condition_3 is false
}
}
流程图:
例子:
// Scala program to illustrate
// the nested if-else statement
object Test {
// Main Method
def main(args: Array[String]) {
// taking three variables
var a: Int = 70
var b: Int = 40
var c: Int = 100
// condition_1
if (a > b)
{
// condition_2
if(a > c)
{
println("a is largest");
}
else
{
println("c is largest")
}
}
else
{
// condition_3
if(b > c)
{
println("b is largest")
}
else
{
println("c is largest")
}
}
}
}
输出:
c is largest
if-else if 阶梯
在这里,用户可以在多个选项中做出决定。 if语句是自上而下执行的。一旦控制if的条件之一为真,就执行与if相关的语句,并绕过梯形图的其余部分。如果没有一个条件为真,那么最后的else语句将被执行。
句法:
if(condition_1)
{
// this block will execute
// when condition_1 is true
}
else if(condition_2)
{
// this block will execute
// when condition2 is true
}
.
.
.
else
{
// this block will execute when none
// of the condition is true
}
流程图:
例子:
// Scala program to illustrate
// the if-else-if ladder
object Test {
// Main Method
def main(args: Array[String]) {
// Taking a variable
var value: Int = 50
if (value == 20)
{
// print "value is 20" when
// above condition is true
println("Value is 20")
}
else if (value == 25)
{
// print "value is 25" when
// above condition is true
println("Value is 25")
}
else if (value == 40)
{
// print "value is 40" when
// above condition is true
println("Value is 40")
}
else
{
// print "No Match Found"
// when all condition is false
println("No Match Found")
}
}
}
输出:
No Match Found