当前位置:网站首页>分支控制if-else
分支控制if-else
2022-08-04 15:30:00 【Hyf 。】
目录
分支控制if-else:
让程序有选择的执行,分支控制有三种:单分支、双分支、多分支
单分支
基本语法
if(条件表达式){
执行代码块
}
说明:当条件表达式为true时,就会执行{ } 的代码
双分支
基本语法
if(条件表达式){
执行代码块1
}else{
执行代码块2
}
多分支
基本语法
if(条件表达式){
执行代码块1
}else if (条件表达式2) {
执行代码块2
}
...........
else{
执行代码块n
}
案例实操
package Chapter04
import scala.io.StdIn
object Test01_IfElse {
def main(args: Array[String]): Unit = {
println("请你输入你的年龄")
val age:Int = StdIn.readInt()
//1、单分支
if (age>=18){
println("你已经成年")
}
println("---------------")
//2、多分支
if (age>=18){
println("你已经成年")
}else{
println("你还未成年")
}
println("---------------")
//3、多分支
if (age<=6){
println("童年人")
} else if (age<18){
println("青年人")
}
else if (age<35){
println("成年人")
}else if (age<60){
println("中年人")
}else{
println("老年人")
}
}
}
运行结果

分支语句的返回值
Scala 中 if else 表达式其实是有返回值的,具体返回值取决于满足条件的 代码体的最后一行内容。
定义返回值 String 不可以返回 Until,定义 Until 可以返回 String
Scala 中返回值类型不一致,取它们共同的祖先类型。
测试:
1、返回值为Until
2、返回值为String
3、返回值不一致时,需要返回它们的共同父类
package Chapter04
import scala.io.StdIn
object Test01_IfElse {
def main(args: Array[String]): Unit = {
println("请你输入你的年龄")
val age:Int = StdIn.readInt()
//3、多分支
1、
val result:Unit =if (age<=6){
println("童年人")
} else if (age<18){
println("青年人")
}
else if (age<35){
println("成年人")
}else if (age<60){
println("中年人")
}else{
println("老年人")
}
println("result:"+result)
println("-----------")
2、
val result1:String =if (age<=6){
println("童年人")
"童年人"
} else if (age<18){
println("青年人")
"青年人"
}
else if (age<35){
println("成年人")
"成年人"
}else if (age<60){
println("中年人")
"中年人"
}else{
println("老年人")
"老年人"
}
println("result1:"+result1)
println("----------")
3、
val result2: Any=if (age<=6){
println("童年人")
"童年人"
} else if (age<18){
println("青年人")
"青年人"
}
else if (age<35){
println("成年人")
age
}else if (age<60){
println("中年人")
age
}else{
println("老年人")
age
}
println("result2:"+result2)
println("----------")
}
}运行结果
输入的age为:87

Java 中的三元运算符可以用 if else 实现
如果大括号{}内的逻辑代码只有一行,大括号可以省略。如果省略大括号,if 只对最近 的一行逻辑代码起作用。Java 中的三元运算符可以用 if else 实现
java 三元运算符 a?b:c
String res = (age>=18)?"成年人":"未成年人"
package Chapter04
import scala.io.StdIn
object Test01_IfElse {
def main(args: Array[String]): Unit = {
println("请你输入你的年龄")
val age:Int = StdIn.readInt()
val result3:String=if(age>=18){
"成年人"
}else{
"未成年人"
}
println("result3:"+result3)
val result4:String=if(age>=18) "成年人" else "未成年人"
println("result4:"+result4)
}
}嵌套分支
超过或者三重嵌套分支比较复杂,逻辑比较复杂,不建议使用
package Chapter04
import scala.io.StdIn
object Test01_IfElse {
def main(args: Array[String]): Unit = {
println("请你输入你的年龄")
val age:Int = StdIn.readInt()
//5、嵌套分支
if (age>=18) {
println("成年")
if (age >= 35) {
if (age >= 60) {
println("老年")
}else {
println("中年")
}
}else{
println("青年")
}
}else{
println("未成年")
if(age<=6){
println("童年")
}else{
println("未成年人")
}
}
}
}
运行结果
输入age为:1

边栏推荐
猜你喜欢
随机推荐
你一定从未看过如此通俗易懂的YOLO系列(从v1到v5)模型解读
SAP ABAP SteamPunk 蒸汽朋克的最新进展 - 嵌入式蒸汽朋克
界面组件DevExpress ASP.NET Core v22.1 - 增强数据导出功能
Xi'an Zongheng Information × JNPF: Adapt to the characteristics of Chinese enterprises, fully integrate the cost management and control system
Pisanix v0.2.0 发布|新增动态读写分离支持
leetcode: 255 Verify preorder traversal sequence binary search tree
QT笔记——QUuid了解
2022杭电多校4
Codeforces Round #811 A~F
推荐一个鸿蒙即时通讯软件《果聊》
西安纵横资讯×JNPF:适配中国企业特色,全面集成费用管控体系
Flutter 运动鞋商铺小demo
手搓一个“七夕限定”,用3D Engine 5分钟实现烟花绽放效果
Sublime Text 好用的插件
(2022杭电多校五)C - Slipper (dijkstra+虚拟结点)
一文详解什么是软件部署
关于pnpm包管理器的版本问题
卖家寄卖流程梳理
I love Tanabata hahaha
Codeforces Round #811 A~F









