当前位置:网站首页>分支控制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
边栏推荐
- Pisanix v0.2.0 发布|新增动态读写分离支持
- 【Harmony OS】【FAQ】Hongmeng Questions Collection 2
- JCMsuite Application: Oblique Plane Wave Propagation Transmission Through Aperture
- 西安纵横资讯×JNPF:适配中国企业特色,全面集成费用管控体系
- Go 言 Go 语,一文看懂 Go 语言文件操作
- Compound Refractive Lenses for X-ray Focusing
- 普法教育结合VR全景,直观感受和学习法治精神
- Roslyn 通过 nuget 统一管理信息
- Semaphore 基本原理
- 什么,你告诉我?作用域也分种类?
猜你喜欢
随机推荐
ICDE‘22推荐系统论文之Research篇
【Go事】一眼看穿 Go 的集合和切片
技术分享| 小程序实现音视频通话
Next -19- 开启fancybox查看图片大图
Why, when you added a unique index or create duplicate data?
IP第十六天笔记
推荐一个鸿蒙即时通讯软件《果聊》
《电磁兼容防护EMC》学习笔记
实战:10 种实现延迟任务的方法,附代码!
小程序|炎炎夏日、清爽一夏、头像大换装
H5 开发内嵌页面跨域问题
QT笔记——Q_INVOKABLE了解
Go 事,如何成为一个Gopher ,并在7天找到 Go 语言相关工作,第1篇
卖家寄卖流程梳理
Roslyn 通过 nuget 统一管理信息
多商户商城系统功能拆解24讲-平台端分销会员
从-99打造Sentinel高可用集群限流中间件
Tinymce plugins [Tinymce 扩展插件集合]
李沐的深度学习笔记来了!
Manacher(求解最长回文子串)