Scala的变量声明

文章目录
变量声明

(一)简单说明
- Scala中变量的声明使用关键字val和var。val类似Java中的final变量,也就是常量,一旦初始化将不可修改;var类似Java中的非final变量,可以被多次赋值,多次修改。
 - val - value - 值
 - var - variable - 变量
 
(二)利用val声明变量
1,声明方式
- val <变量名>[: 数据类型] = 变量值
 - 定义变量比较灵活,可以指定数据类型,也可以不指定数据类型,由Scala根据赋的值自行判断数据类型
 - 在声明变量上,Scala兼具Java和Python的特点。Java是静态语言,声明变量必须指定数据类型,Python是动态语言,声明变量不需要指定数据类型。
 
2,案例演示
- 
声明一个val字符串变量name,其实定义的是一个常量

 - 
上述代码中的第二行为执行第一行的输出信息,从输出信息中可以看出,该变量类型由Scala自动推断为String。
 - 
当然也可以在声明变量时指定数据类型,与Java不同的是,数据类型需要放到变量名的后面,这使得面对复杂的数据类型时更易阅读。

 - 
由于val声明的变量是不可修改的,若对声明的变量name进行修改,则会报错

 - 
因此,如果希望变量可以被修改(can be mutated),就需要使用var声明。
 
(三)利用var声明变量
1,声明方式
- var <变量名>[: 数据类型] = 变量值
 
2,案例演示
- 声明一个var字符串变量message,然后利用print函数输出其值

 - 对var变量message重新赋值,再输出其值

 
(四)换行输入语句(续行)
- 如果需要换行输入语句,那么只需要在换行的地方按回车键,解析器会自动在下一行以竖线进行分割

 - 如果要输入多行字符串,得使用三引号

 - 去掉多行字符串的前导空格

 - 用双引号是无法实现多行字符串

 
(五)同时声明多个变量
- Scala还可以将多个变量放在一起进行声明,将一个数值同时赋给多个变量

 - Scala不能一次对多个变量赋不同的值

 
(六)总结变量的声明
1,变量必须初始化
- 定义变量需要初始化,否则会报错。
 - 注意:Java里可以先声明变量,然后再赋值
 
2,定义变量可以不指定数据类型
- 定义变量时可以不指定数据类型,系统会根据初始化值自动推断变量的类型。
 - 注意:Java声明变量必须指定类型
 
3,鼓励优先使用val(常量)
- Scala中鼓励优先使用val(常量),除非确实需要对其进行修改,才使用var(变量)。
 
4,语句不需要写结束符
- Scala语句不需要写结束符,除非同一行代码使用多条语句时才需要使用分号隔开。
 


