条件表达式

条件表达式就是if表达式,if表达式可以根据给定的条件是否满足,根据条件的结果(真或假)决定执行对应的操作。scala条件表达式的语法和Java一样。

有返回值的if

与Java不一样的是,

[!NOTE]

  • 在scala中,条件表达式也是有返回值的
  • 在scala中,没有三元表达式,可以使用if表达式替代三元表达式

示例

定义一个变量sex,再定义一个result变量,如果sex等于"male",result等于1,否则result等于0

参考代码

scala> val sex = "male"
sex: String = malescala> val result = if(sex == "male") 1 else 0
result: Int = 1

块表达式

  • scala中,使用{}表示一个块表达式
  • 和if表达式一样,块表达式也是有值的
  • 值就是最后一个表达式的值

问题

请问以下代码,变量a的值是什么?

scala> val a = {| println("1 + 1")| 1 + 1| }

2021年大数据常用语言Scala(七):基础语法学习 条件表达式相关推荐

  1. 2021年大数据常用语言Scala(四):基础语法学习 声明变量

    目录 声明变量 语法格式 在解释器中定义一个变量 val和var变量 使用类型推断来定义变量 惰性赋值 声明变量 我们将来每一天编写scala程序都会定义变量.那scala语言如何定义变量呢? 语法格 ...

  2. 2021年大数据常用语言Scala(三十一):scala面向对象 特质(trait)

    目录 特质(trait) 作为接口使用 定义具体的方法 定义具体方法和抽象方法 定义具体的字段和抽象的字段 实例对象混入trait trait调用链 trait的构造机制 trait继承class 特 ...

  3. 2021年大数据常用语言Scala(十四):基础语法学习 数组  重点掌握

    目录 数组  重点掌握 定长数组 变长数组 遍历数组 数组常用算法 数组  重点掌握 scala中数组的概念是和Java类似,可以用数组来存放一组数据.scala中,有两种数组,一种是定长数组,另一种 ...

  4. 2021年大数据常用语言Scala(一):Scala简介

    目录 一.Scala简介 为什么使用scala Scala对比Java 案例 一.Scala简介 scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程 多范式:就是包含多种编程思 ...

  5. 2021年大数据常用语言Scala(八):基础语法学习 循环

    目录 循环 for表达式 while循环 循环 在scala中,可以使用for和while,但一般推荐使用for表达式,因为for表达式语法更简洁 for表达式 语法 for(i <- 表达式/ ...

  6. 2021年大数据常用语言Scala(十二):基础语法学习 方法调用方式

    目录 方法调用方式 后缀调用法 中缀调用法 操作符即方法 花括号调用法 无括号调用法 方法调用方式 在scala中,有以下几种方法调用方式, 后缀调用法 中缀调用法 花括号调用法 无括号调用法 在后续 ...

  7. 2021年大数据常用语言Scala(十六):基础语法学习 列表 List 重点掌握

    目录 列表 List 重点掌握 不可变列表定义 可变列表 列表常用操作 列表 List 重点掌握 列表是scala中最重要的.也是最常用的数据结构.List具备以下性质: 可以保存重复的值 有先后顺序 ...

  8. 2021年大数据常用语言Scala(三十八):scala高级用法 隐式转换和隐式参数

    目录 隐式转换和隐式参数 隐式转换 自动导入隐式转换方法 隐式转换的时机 隐式参数 隐式转换和隐式参数 隐式转换和隐式参数是scala非常有特色的功能,也是Java等其他编程语言没有的功能.我们可以很 ...

  9. 2021年大数据常用语言Scala(三十六):scala高级用法 泛型

    目录 泛型 定义一个泛型方法 定义一个泛型类 上下界 协变.逆变.非变 非变 协变 逆变 泛型 scala和Java一样,类和特质.方法都可以支持泛型.我们在学习集合的时候,一般都会涉及到泛型. sc ...

最新文章

  1. swift_027(Swift 的扩展)
  2. 推荐: 五分钟搞懂Xen、KVM、Qemu间的关系和区别[转载]
  3. JDK,JRE,JVM及设置PATH
  4. AnyChat Server SDK与SDK Filter Plus有何差异?
  5. 代码执行-preg_replace
  6. 基于android的交流平台,基于Android的移动学习交流平台的设计与实现
  7. devops最佳实践_DevOps最佳实践如何改善团队动力
  8. linux查看内存_【001】一文带你全面掌握Linux系统体系结构
  9. 【对讲机的那点事】公网对讲关键指标之组呼建立时延
  10. 表单html遇到的问题及处理,HTML表单常见问题
  11. Excel筛选后填充
  12. LM334微电流源的制作
  13. Recorder.js HTML5+JS实现网页录音
  14. AutoRunner简介
  15. pdf怎么删除其中一页 删除pdf页面的方法
  16. php 开源cms 族谱,20款最为知名的开源PHP CMS
  17. mysql 经纬度范围_根据经纬度查询最近距离,mysql查询经纬度附近范围
  18. 〖教程〗Ladon提权Win2016/Win10/MSSQL2016
  19. SSH密码暴力破解及防御实战
  20. 关于echarts套娃柱状图(嵌套柱)的实现

热门文章

  1. 使用python愉快地做高数线代题目~
  2. ubuntu 修改时区、时间、同步网络时间、将时间写入硬件
  3. Redis集群管理方式
  4. react非常适合入门者学习使用的后台管理框架
  5. 什么是智能医院?如何构建自己的解决方案?
  6. 客快物流大数据项目(四):大数据项目为什么使用Docker
  7. 2021年大数据Hive(十一):Hive调优
  8. ValueError: invalid literal for int() with base 10: “ ”
  9. RxJava debounce()和throttleWithTimeout()
  10. android setAlpha 与 getBackground().setAlpha