当前位置:网站首页>分支控制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
边栏推荐
- IP第十五天笔记
- Zheng Qing freshmen school competition and middle-aged engineering selection competition
- 直播回放含 PPT 下载|基于 Flink & DeepRec 构建 Online Deep Learning
- 华为云 & 达达,帮有情人“一键送达”
- Byte、Short、Integer、Long内部缓存类的对比与源码分析
- 明明加了唯一索引,为什么还是产生重复数据?
- 直播系统开发——直播间架构的设计及难点分析
- PTA 6-2 多项式求值
- RTC 场景下的屏幕共享优化实践
- 分布式链路追踪Jaeger + 微服务Pig在Rainbond上的实践分享
猜你喜欢
浅谈一下跨端技术方案
你以为在做的是微服务?不!你做的只是分布式单体!
Legal education combined with VR panorama, intuitively feel and learn the spirit of the rule of law
Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。
明明加了唯一索引,为什么还是产生重复数据?
界面组件DevExpress ASP.NET Core v22.1 - 增强数据导出功能
从-99打造Sentinel高可用集群限流中间件
【伸手党福利】投影仪初学者入门——投影亮度及幕布选择——从入门到精通
AAAI‘22 推荐系统论文梳理
2022杭电多校3
随机推荐
普法教育结合VR全景,直观感受和学习法治精神
C# 判断文件编码
I love Tanabata hahaha
GPS卫星同步时钟,NTP网络同步时钟,北斗时钟服务器(京准)
MySQL select加锁分析
西安纵横资讯×JNPF:适配中国企业特色,全面集成费用管控体系
Byte、Short、Integer、Long内部缓存类的对比与源码分析
HarePoint Analytics for SharePoint Online
从-99打造Sentinel高可用集群限流中间件
numpy入门详细代码
洛谷题解P4326 求圆的面积
C# 谁改了我的代码
【Go事】一眼看穿 Go 的集合和切片
素士科创板IPO撤单,雷军失去“电动牙刷第一股”
2022 Hangzhou Electric Multi-School 4
【Harmony OS】【FAQ】鸿蒙问题合集2
leetcode: 241. Designing precedence for arithmetic expressions
剑指Offer 63.股票的最大利润
Next -20- 使用自定义样式 (custom style)
【伸手党福利】投影仪初学者入门——投影亮度及幕布选择——从入门到精通