🙆♂️🙆♂️ 写在前面
🏠 个人主页: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中的循环控制结构