目录
本讲学习目标
- 学会变量声明
- 掌握数据类型
1、变量声明
1.1声明变量
声明一个val
字符串变量name
,其实定义的是一个常量
声明一个var
字符串变量slogan
对var变量slogan重新复制
1.2换行输入语句
如果需要换行输入语句,那么只需要在换行的地方按回车键,解析器会自动在下一行以竖线进行分割。
同时声明多个变量
1.3.总结变量的声明
定义变量需要初始化,否则会报错。(Java里可以先声明变量,然后再赋值)
定义变量可以不指定数据类型
语句不需要写结束符
2.数据类型
2.1案例演示
\定义一个类型为List[Any]
的变量list
,list
中包括字符串、整数、字符、布尔值和函数,由于这些元素都属于对象Any
的实例,因此可以将它们添加到list
中。
通过增强for循环遍历列表元素,并显示其数据类型
获取列表前三个元素构成的子列表
2.2 数据类型转换
2.2.1值类型的转换
Scala中的值类型可以按下图的方式转换,且转换是单向的
将Long
转换成Float
类型,注意在这种情况下会丢失一些精度
2.2.2引用类型的转换
此外,Scala还可以将引用类型转换为其子类型。
Nothing是所有类型的子类,在Scala类层级的最低端。Nothing没有对象,因此没有具体值,但是可以用来定义一个空类型,类似于Java中的标示性接口(如Serializable,用来标识该类可以进行序列化)。举个例子,如果一个方法抛出异常,异常的返回值类型就是Nothing(虽然不会返回)。
Null是所有引用类型(AnyRef)的子类,所以Null可以赋值给所有的引用类型,但不能赋值给值类型,这个和Java的语义是相同的。Null有一个唯一的单例值null。