scala的顺序结构和分支结构

50 阅读2分钟

scala的顺序结构

定义:程序从上到下执行,中间过程没有任何判断和跳转,在编写代码的过程中没有判断语句和跳转语句,程序按照输出语句的顺序从上到下输出代码的

作用:在没有控制流程的前提下,顺序结构决定了代码的执行顺序

object zsh0 {
  def main(args: Array[String]): Unit = {
    val name="scala"
    val age=10
    println("hello scala")
    println(name+"has been"+age)
  }
}

scala分支结构

if语句

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

例:

print("请输入a的值:")
val a =scala.io.StdIn.readInt()
print("请输入b的值:")
val b =scala.io.StdIn.readInt()
print("请输入c的值:")
val c =scala.io.StdIn.readInt()
val z =(a * a)
val d =(b * c)
if (z>d){
  println("RECTANGLE")
} else if(z<d){
  println("SOUARE")
} else{
  println("SAME")
}

scala与java的if语句不同点

关键点在于java的if语句没有返回值,scala的if语句有返回值

val a =if(布尔表达式) {
   表达式1
} else {
   表达式2
}

如果布尔表达式为true,则会把表达式1的值赋给a,如果布尔表达式为false,则会把表达式2的值赋给a,即如布尔表达式为true,a=表达式1,否则,a=表达式2

vala=if(true){
   "a"
} else{
   "b"
}

例如:

print("请输入分数:")
val fs = scala.io.StdIn.readInt()
if (fs>=90 && fs<=100){
  println("A")
}else if (fs>=80 && fs<=89){
  println("B")
}else if (fs>=70 && fs<=79){
  println("C")
}else if (fs>=60 && fs<=69){
  println("D")
}else if (fs>=0 && fs<=59){
  println("E")
}else {
  println(s"$fs 不是有效数值")
}

使用if语句返回值

print("请输入分数:")
val fs = scala.io.StdIn.readInt()
val result  = if (fs >= 60){
  "及格"
} else {
  "不及格"
}

println(result)