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 ...
随机推荐
- jdk8--十大新特性
https://www.cnblogs.com/dennyzhangdd/p/6722445.html 一.十大特性 1.Lambda表达式 2.Stream函数式操作流元素集合 3.接口新增:默认方 ...
- tipsText表单验证(注册)
注册表单验证脚本 <script src="/assets/skins/js/jquery-1.11.2.min.js"></script> <scr ...
- Debug 集子
一. 001.c: 在函数 'main' 中: 001.c:8: 错误:'start' 的存储大小未知 001.c:9: 错误:'end' 的存储大小未知 ====================== ...
- MSXML2
The following C/C++ example creates and appends a new text node to the root document element. #impor ...
- Android LaunchAnyWhere (Google Bug 7699048)漏洞具体解释及防御措施
開始 近日,Google修复一个组件安全的漏洞LaunchAnyWhere(Google Bug 7699048). 这个漏洞属于Intend Based提取漏洞,攻击者利用这个漏洞,能够突破了应用间 ...
- NGINX之——配置HTTPS加密反向代理訪问–自签CA
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46695495 出于公司内部訪问考虑,採用的CA是本机Openssl自签名生成的,因 ...
- 全栈JavaScript之路(十)学习 DocumentFragment 类型 节点
DocumentFragment 类型节点,代表一个文档片段,是一种轻量级的'文档' 对象.能够包括其他类型节点,并有能力訪问.操作当中的节点,可是在文档中没有文档标记,相当于是一个页面不可见的容器. ...
- PHP5+标准函数库观察者之实现
PHP的观察者设计模式实现相对简单,可是PHP5+版本号中已经有标准库类库支持,我们仅仅需简单继承并实现就能够了. 观察者:实现标准接口类库SplSubject. 一个注冊方法:attach.一个取消 ...
- Oracle数据库软件标准版的一个限制:仅仅能用一个rman channel
Oracle数据库软件标准版的一个限制:仅仅能用一个rman channel Restrictions in "Standard Edition" Rman channel all ...
- hdu 2205(容斥原理)
Eddy's爱好 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...