2、scala条件控制与循环
1、 if表达式
2、 句终结符、块表达式
3、 输入与输出
4、 循环
5、 高级for循环
1、 if表达式
if表达式的定义:scala中,表达式是有值的,就是if或者else中最后一行语句返回的值(和java区别)。可以将if表达式赋予一个变量,也可以提前定义一个变量,通常使用第一种写法。
if表达式类型推断:if表达式式有值的,如果if返回值类型和else返回值类型不同时,scala会自动推断,取两个类型的公共父类型(Any是Int 和String的父类型)。If后面没有跟else,则默认else的值为Unit,也用()表示,类似于java中的void和null。
将if语句放在多行中:默认情况下,REPL只能解释一行语句,但if表达式通常需要放在多上,可以用{}的方式比如以下方式,或者使用:paste和ctrl+D的方式。

2、 语句终结符、块表达式
默认情况下,scala不需要语句终结符,默认每行作为一个语句。
一行放多条语句:如果一行放多个语句必须使用语句终结符,通常来说,对于多行语句,还是会使用花括号的方式。
块表达式:块表达式,值的就是{}中的值,其中包含多条语句,最后一个语句的值就是块表达式的返回值。

3、 输入与输出
print和println:print打印时不加换行符,println打印时会加一个换行符。
printtf:可以用于格式化,相当于占位符。
readLine:从控制台中读取用户输入的数据。

4、 循环

While do循环:scala中while do循环,基本语义和java相同。
Scale中无for循环,只能使用while代替for循环,或者使用简易版的for语句。简易版for语句如下图,或者使用until,表达不达上限,也可以对字符串进行遍历,类似于java的增强for循环。
Scala跳出循环:scala没有类似java的break,可以使用boolean类型变量、return或者Breaks的break函数来替代使用。

5、 高级for循环
多重for循环:九九乘法表

if守卫:取奇数

for推导式:构造集合

2、scala条件控制与循环的更多相关文章
- Scala 条件控制与循环
Scala if表达式 ·if表达式的定义:在Scala中,if表达式是有值的,就是if或者else中最后一行语句返回的值. ·例如,val age = 30; if (age > 18) 1 ...
- Scala入门系列(二):条件控制与循环
条件控制与循环 if表达式 定义:if表达式是有值的,就是if或者else中最后一行语句返回的值. 例如:val isAdult = if (age > 18) 1 else 0 类型推断: ...
- 【scala】 scala 条件控制 和异常处理(二)
1.scala 变量定义 ,var val 区别. var 定义可变变量 val 定义不可变变量,scala 推荐使用.相当于Java的final 变量. scala中包含的基本数据类型详情如下表所示 ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- Python - 条件控制、循环语句 - 第十二天
Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...
- Shell学习(三)——Shell条件控制和循环语句
参考博客: [1]Shell脚本的条件控制和循环语句 一.条件控制语句 1.if语句 1.1语法格式: if [ expression ] then Statement(s) to be execut ...
- Shell脚本的条件控制和循环语句
条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre ...
- python基础之条件控制与循环
Python3 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户 ...
- 04- Shell脚本学习--条件控制和循环语句
条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre ...
随机推荐
- Python - 面对对象(其他相关,异常处理,反射,单例模式,等..)
目录 Python - 面对对象(其他相关,异常处理,反射,等..) 一.isinstance(obj, cls) 二.issubclass(sub, super) 三.异常处理 1. 异常处理 2. ...
- Linux - redis哨兵集群实例
目录 Linux - redis哨兵集群实例 命令整理 配置流程 Linux - redis哨兵集群实例 命令整理 官网地址:http://redisdoc.com/ redis-cli info # ...
- Huawei-R&S-网络工程师实验笔记20190524-VRP的系统、接口视图下基本操作
>Huawei-R&S-网络工程师实验笔记20190524-VRP的系统.接口视图下基本操作(重命名.配置IP.VLAN接口.双工模式.console口) >>实验开始,先上 ...
- GROOVY简单语法实习
慢慢的看<GROOVY IN ACTION>的一个中文节译本,根据上面的东东慢慢练习. 中文看起来确实比英文快好多...:) Book gina = new Book('Groovy in ...
- BZOJ——T 2097: [Usaco2010 Dec]Exercise 奶牛健美操
http://www.lydsy.com/JudgeOnline/problem.php?id=2097 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: ...
- python getaddrinfo 函数
现在python中用到的关于地址查询的函数几乎都可以用getaddrinfo. 也就是说,如果你要想做一些与地址查询,主机名ip转换的操作,都可以用这个函数,下面看一下这个函数. 首先,我们可以用ge ...
- PHP array_diff_key()
定义和用法 array_diff_key() 函数返回一个数组,该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键. 语法 array_diff_key(array1,array2,ar ...
- CF #319 div 2 D
这道题算不算脑洞题.. 可以发现,当一个排列中有循环节时长度为1或2时可能有解.当为1时,只需把全部点都连到这个题即可,当为2时,就要求所有循环节长度均为偶数,这很容易理解,因为如果存在为奇数,它们之 ...
- MySQL 调优 —— Using filesort
出现这个问题的解决办法在于 MySQL 每次查询仅仅能使用一个索引, 而你的 SQL 语句 WHERE 条件和 ORDER BY 的条件不一样, 索引没建好的话. 那么 ORDER BY 就使用不到索 ...
- QueryString 地址栏参数
MXS&Vincene ─╄OvЁ &0000002 ─╄OvЁ MXS&Vincene MXS&Vincene ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...