为了账号安全,请及时绑定邮箱和手机立即绑定

Scala菜鸟进阶之路二 控制结构和函数

标签:
大数据

1、条件表达式

Scala的if/else语法结构和java和C++一样,但是在Scala中if/else表达式有值,这个值就是跟在if或else之后的表达式的值。

举个栗子:

if (x > 0) 1 else -1

也可以将if/else的值赋给变量:

val s = if (x > 0) 1 else -1

在Scala中,每个表达式都有一个类型。

举个栗子:

if (x > 0) 1 else -1 的值得类型为 Int,因为两个分支的类型都是Int

混合类型的表达式:

if(x > 0) "positive" else -1

该表达式的类型是两个分支类型的公共超类型 Any (一个分支是 java.lang.String,另一个分支是Int)

如果else部分缺失,例如

if (x > 0) 1

则有可能 if 没有输出值。但是在Scala中,每个表达式都应该有某种值。为了解决这个问题,Scala引入了 Unit 类,写作 ()。

所以,不带else的if语句等同于

if (x > 0 ) else ()

可以把()当做表示 “无有用值”的占位符,将Unit当做Java或者C++的void

** 当一行语句没有写完需要换行时,需要使用花括号(尤其在REPL中)

例如:

if (x > 0) { 1

} else if(x == 0) 0 else -1

** 在REPL中,可以使用粘贴模式,书写成块的代码

:paste



作者:独行者独行者
链接:https://www.jianshu.com/p/cc56f421fff3


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消