文章目录

  • 1. 单分支、双分支、多分支
  • 2. 分支判断的返回值
    • 2.1 Scala中的表达式均有返回值
    • 2.2 分支判断中返回值类型
  • 3.Scala语言中没有三元运算符

1. 单分支、双分支、多分支

  语法:

if(布尔表达式) {// 如果布尔表达式为 true 则执行该语句块
}
if(布尔表达式) {// 如果布尔表达式为 true 则执行该语句块
} else {// 如果布尔表达式为 false 则执行该语句块
}
if(布尔表达式1) {// 如果布尔表达式1为 true,则执行该语句块
} else if ( 布尔表达式2 ) {// 如果布尔表达式2为 true,则执行该语句块
}...
} else {// 上面条件都不满足的场合,则执行该语句块
}

如:

输入年龄,如果年龄小于18岁,则输出“童年”。如果年龄大于等于18且小于等于30,则输出“青年”,如果年龄大于30小于等于50,则输出”中年”,否则,输出“老年”

object ScalaBranch {def main(args: Array[String]): Unit = {val age = 30if ( age < 18 ) {println("童年")} else if ( age <= 30 ) {println("青年")} else if ( age <= 50 ) {println("中年")} else {println("老年")}}
}

object ScalaBranch {def main(args: Array[String]): Unit = {val age = 30val result = if ( age < 18 ) {"童年"} else if ( age <= 30 ) {"青年"} else if ( age <= 50 ) {"中年"} else {"老年"}println(result)}
}

2. 分支判断的返回值

2.1 Scala中的表达式均有返回值

(1)
  在java中字符串fd 被赋予变量b

  在scala中 a = "list"视为一个整体,返回值为Unit,被赋予变量b

object T2 {def main(args: Array[String]): Unit = {var a = "fdas"var b = a = "list"print(b) //()}
}

(2)
   println()的返回值类型为Unit

2.2 分支判断中返回值类型

   scala作为一门静态类型编程语言,需要在执行之前将数据类型确定,编译器在编译时就会考虑多种情况下的通用方案

   分支判断中返回值类型取决于满足条件的最后一行代码的执行结果

(1)下面代码中的变量result类型为Any类型,用于匹配不同分支的执行结果

object T1 {def main(args: Array[String]): Unit = {val i = 10val result=   if (i > 55) {println("%s 大于 55", i)} else if (i > 30) {"cz"} else {false}print(result)}
}

(2)下面代码中的变量result类型为String类型

object T1 {def main(args: Array[String]): Unit = {val i = 10val result = if (i > 55) {"%s 大于 55"} else if (i > 30) {"cz"} else {"false"}print(result)}
}

3.Scala语言中没有三元运算符

   scala中如果逻辑代码只有一行,花括号可省略,若需要三元运算符,可使用if分支判断代替三元运算符

object T4{def main(args: Array[String]): Unit = {val age:Byte=40val newAge = if (age > 20) 20 else 18println(newAge)}
}

scala 分支控制 (单分支、双分支、多分支)、 分支判断的返回值相关推荐

  1. form表单ajax提交 ac,請求Ajax 帶返回值的通用方法, 自動獲取頁面控件值(form表單post方法提交 ),自動給控件賦值...

    //自動獲取頁面控件值 function GetWebControls(element) { var reVal = ""; $(element).find('input,sele ...

  2. 【C++】C++函数需要有返回值,但非全分支return(RVO)

    今天在review以前的代码的时候,遇到了一个比较奇怪的现象,函数的有返回值,但只在if后面有return,else后面忘写了.但这个版本的代码已经调试验证通过了,没有问题的,这就很怪异. 考验一道题 ...

  3. 【jQuery】使用jquery.form.js,获取提交表单返回值

    jQuery表单库介绍 实现 html 中提交表单并实现不跳转页面处理返回值 jQuery表单库(jquery.form.js库)以jQuery为基础,用于处理表单AJAX提交,使得表单AJAX提交简 ...

  4. 【Java】流程控制 - 顺序结构、 选择(分支)结构(单分支、双分支、多分支、嵌套)、循环结构(for、while、do...while)、跳转语句(break、continue)

    流程控制语句结构 文章目录 流程控制语句结构 一. 顺序结构 1. 输出语句 2. 输入语句 3.code 二.复合语句 三. 分支结构 1. 条件判断 1.单分支结构 2.双分支结构 3.多分支结构 ...

  5. scala(三):流程控制-分支控制、嵌套循环、for、while、do…while循环、循环中断、多支循环

    目录 流程控制 分支控制 嵌套分支 for循环控制 while和do-while循环控制 循环中断 多重循环 流程控制 分支控制 分支控制可以使程序有选择的执行,分支类型有:单分支.双分支.多分支 单 ...

  6. linux脚本多分支if语句,shell脚本基础应用(二)if单分支,双分支,多分支语句...

    前言:为了使shell脚本具有一定的"判断"能力,根据不同的条件来完成不同的管理任务.使脚本具有一定的"智能". 一.条件测试操作 文件测试常见操作: -d:: ...

  7. Go核心开发学习笔记(九)—— 顺序控制,分支控制

    程序流程控制 决定程序如何执行,常用三大流程控制语句 顺序控制 分支控制:if-else 循环控制:for 符合条件前循环控制,符合条件后循环控制(笔记十去记录) 顺序控制 从上到下依次执行,每个程序 ...

  8. JavaSE——流程控制(接收输入Scanner、分支结构(if与switch)、循环结构(while、do-while与for))

    第3节 流程控制 一.接收用户输入 使用Scanner类来接收用户的输入. 新建一个Scanner对象:Scanner input = new Scanner(System.in); input可以接 ...

  9. 洛谷oj题单【入门2】分支结构-入门难度(Java)

    洛谷oj题单[入门2]分支结构-入门难度(Java) 来源:https://www.luogu.com.cn/training/101#problems P5709 [深基2.习6]Apples Pr ...

最新文章

  1. 一步一步学习VirtualBox安装CentOS7和CentOS8
  2. Android短信的发送和广播接收者实现短信的监听
  3. 垂直网站架构改造 - 怎样成为一个山寨CTO
  4. python Matplotlib.pyplot 如何绘制三维折线图, 散点图, 线框图, 表面图, 柱状图, 箭头图, 2D转3D图, 文本图, 3D拼图, 网状图, 直方图, 角面片图, 条状图?
  5. linux程序加载器,Linux 动态连接加载器 ld-linux用法
  6. VScode配置ESlint自动修复格式化
  7. 放弃Venn-Upset-花瓣图,在线拥抱二分网络
  8. 《剑指 Offer I》刷题笔记 11 ~ 19 题
  9. 开发过程中常用的 dos 命令
  10. java 发送信号_java – 在Windows中发送任意信号?
  11. 男生是学计算机网络还是应用,男生适合读计算机网络技术专业吗
  12. 用火箭送快递?淘宝宣布联合蓝箭航天起启动“宝箭”计划...
  13. 关于小学计算机论文题目,经典小学计算机课论文选题 小学计算机课论文题目怎样定...
  14. mysql导入错误1148_解决ubuntu server mysql load data infile 导入本地文件ERROR 1148 (42000)错误。...
  15. 百练 C/C++测试
  16. HDMI2.1定义以及物理转换Bypass芯片详解
  17. Opencv2.4学习::边缘检测(4)Roberts算子
  18. flask 使用html模板,Flask框架使用HTML模板的方法
  19. Termux手机终端-逗你玩儿
  20. 【学习点滴】c++类中虚表的内存分配,菱形继承

热门文章

  1. 【操作系统】请写出最多允许4人同时进餐的哲学家进餐问题的算法(视频中的代码有点错误)
  2. 【JAVA程序设计】基于SSM的图书管理系统-有论文文档
  3. 增强团队创新力需要打造多样性团队
  4. 功率因数-视在功率-无功功率
  5. 模拟电路-------电感如何测量
  6. ..::电容器的作用::..
  7. 163VIP邮箱外贸群发技巧有哪些?
  8. 目前做视频号的一般是这几种目的
  9. 教妹学Java(六):JDK,JRE和JVM之间有什么区别?
  10. 【学习记录】Three.js