Scala基础语法入门(四)Scala流程控制之分支控制

🙆‍♂️🙆‍♂️ 写在前面

​🏠​ 个人主页:csdn春和
📚 推荐专栏:更多专栏尽在主页!
JavaWeb专栏(从入门到实战超详细!!!)
SSM专栏 (更新中…)
​📖​ 本期文章:Scala基础语法入门(四)Scala流程控制之分支控制
如果对您有帮助还请三连支持,定会一 一回访!🙋🏻‍♂️


Scala流程控制之分支控制

同java一样 分支控制分为单分支 双分支 多分支

1、单分支

if(条件表达式){
    代码块
}

🏀 案例:一个篮球员完成花式扣篮,请输入您的打分,分数小于6 则输出一句话

// 1、单分支
println("请打分:")
val score: Int = StdIn.readInt()

if (score < 6){
  println("还得练!")
}

2、双分支

if(条件表示){
    代码块1
}else{
    代码块2
}

🏀 案例:一个篮球员完成花式扣篮,请输入您的打分,分数小于6 则输出一句话,分数大于=6 输出另一句话

// 1、单分支
 println("请打分:")
 val score: Int = StdIn.readInt
 // 双分支
 if (score < 6){
   println("还得练!")
 }else{
   print("还不错!")
 }

3、多分支

if(条件表示){
    代码块1
}
else if{
    代码块2
}
else{
    代码块3
}

🏀 案例:一个篮球员完成花式扣篮,请输入您的打分,分数小于6 则输出一句话,分数大于=6小于9 输出另一句话 分数大于= 9 输出另外一句话

// 多分支
if (score < 6){
  println("还得练!")
}else if(score >= 6 && score < 9){
  print("还不错!")
}else if (score >= 9 && score <= 10){
  println("太棒了!")
}else{
  print("您输入的分数超过范围!")
}

在这里插入图片描述

4、分支控制细节

1、Scala中 fi else语句其实是有返回值的,具体返回值取决于满足条件的代码体的最后一行内容。

由于if语句判断会得到一个结果 那么我们将这个结果赋值给一个变量可不可以呢?

在这里插入图片描述

在这里插入图片描述

Scala 中返回值类型不一致,取它们共同的祖先类型

 Scala为强类型语言,在执行代码之前就需要确定类型,在执行之前你不知道会返回的是String 也有可能没有返回值 那么就是Unit 所以必须是String 和Unit的父类型 那么就是Any 超类

❓ 好我们再来看下面的代码:

在这里插入图片描述

❓ 再看看这段代码:

在这里插入图片描述

❓ 那么如果有一个是null呢?

在这里插入图片描述

5、Scala中有三元运算符吗?

回顾java中的三元运算符

public class JavaTest4 {
    public static void main(String[] args) {

        // java中的三元运算符  条件表达式 ? 值1 : 值2 ;  如果表达式成立则取值1 否则取值2
        // 比较出三个数中的最大值

        int a = 10;
        int b = 19;
        int c = 12;

        int _max = a > b ? a : b;
        int max = _max > c ? _max : c;

        System.out.println(max);

    }
}

在这里插入图片描述

那么Scala中有没有三元运算符?三元运算符的本质其实也是分支结构,在Scala中用if else代替三元运算符

def main(args: Array[String]): Unit = {

  // Scala中使用if else代替三元运算符

  val age = 20

  val res = if (age < 18) "未成年" else "成年"

  println(res)

}

6、嵌套分支

在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层。 分支外面的分支结构称为外层分支。嵌套分支不要超过 3 层。

需求: 输入一个人的年龄,根据年龄判断他是未成年还是成年人,成年又分为青年、中年、老年

def main(args: Array[String]): Unit = {

  // Scala中的 嵌套分支

  println("please input your age:")
  val age = StdIn.readInt()

  if (age < 18){
    println("未成年")
  }else{
    if (age>= 18 && age <30){
      println("青年")
    }else if (age >= 30 && age < 50){
      println("中年")
    }else{
      println("老年")
    }
  }

}

在这里插入图片描述

💬

看到这里Scala中的分支控制是不是很简单,和java中的分支结构基本一样
下一篇文章将输出 Scala中的循环控制结构

  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 40
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值