Scala变量与数据类型

Scala变量与常量

一、变量
赋值后可以改变,生命周期中可以被多次赋值
#语法:var 变量名称:类型=xxx
注:一般无需显示指定类型,Scala编译器会自动推断出类型
Scala变量、数据类型与程序控制
使用类型别名定义变量:type关键字
#语法:type 类型别名=类型
Scala变量、数据类型与程序控制

二、常量
赋值后不可变,类似与Java中的final变量
#语法:val 常量名称:类型=xxx
Scala变量、数据类型与程序控制

三、Scala关键字列表
Scala变量、数据类型与程序控制

Scala数据类型

一、数据类型
Scala与Java有着相同的原始数据类型
Scala变量、数据类型与程序控制

二、数据类型层次结构

  • Any:所有类型的超类(顶级类型)
  • AnyVal:表示值类型的超类
  • AnyRef:表示引用类型的超类,对应javr.lang.Object
  • Unit:表示无值,类似java中的void
  • Nothing:所有类型的子类
  • Null:表示null或空引用
    Scala变量、数据类型与程序控制

三、字符串插值
1、s插值器:允许将变量引用、表达式直接插入字面字符中
Scala变量、数据类型与程序控制

2、f插值器

注:f 前面数字表示占位符(位数不够可拓展,则空位表示),后面数字表示小数点后位数(位数不够,则0表示)
Scala变量、数据类型与程序控制

3、raw插值器
s"a\nb\nc\nd" //将输出换行符
raw"a\nb\nc\nd" //输出原始字符
Scala变量、数据类型与程序控制

Scala程序控制

条件控制

1、if语句
Scala变量、数据类型与程序控制

2、if…else语句
Scala变量、数据类型与程序控制
Scala变量、数据类型与程序控制

条件语句返回值

Scala任何表达式都有返回值
#注:单行表达式可以省略{}
Scala变量、数据类型与程序控制
Scala变量、数据类型与程序控制

代码块“{…}”也是表达式,返回值为最后一个表达式结果
#注:多个表达式使用";"分隔
Scala变量、数据类型与程序控制
Scala变量、数据类型与程序控制

循环控制

1、while循环
#注:Scala中可以不用在语句结束位置显示地使用分号(????
Scala变量、数据类型与程序控制

2、do…while循环
Scala变量、数据类型与程序控制
3、for循环
#注:“i to j"或者"i until j"均表示创建一个区间Range
Scala变量、数据类型与程序控制
Scala变量、数据类型与程序控制
4、中断
#注:by表示步长

  • 方法一:
    #注:前提需要导入:import scala.util.control.Breaks._
    Scala变量、数据类型与程序控制
    Scala变量、数据类型与程序控制
  • 方法二
    #注:前提需要导入:import scala.util.control.Breaks
    #注:需定义:val loop = new Breaks
    Scala变量、数据类型与程序控制
    Scala变量、数据类型与程序控制

5、for循环过滤
#注:多个条件时使用分号";"分隔
Scala变量、数据类型与程序控制
Scala变量、数据类型与程序控制

6、for循环返回值
for 循环中的 yield 会把当前的元素记下来,保存在集合中,循环结束后将返回该集合。也称for推导式
Scala变量、数据类型与程序控制
Scala变量、数据类型与程序控制

相关文章: