Spark 3.x大数据分析实战(视频教学版)
上QQ阅读APP看书,第一时间看更新

1.3.1 变量声明

Scala中变量的声明使用关键字val和var。val类似Java中的final变量,也就是常量,一旦初始化则不可修改;var类似Java中的非final变量,可以被多次赋值,多次修改。

例如,声明一个val字符串变量str:

    scala> val str="hello scala"
    str: String = hello scala

上述代码中的第二行为执行第一行的输出信息,从输出信息中可以看出,该变量在Scala中的类型是String。

当然也可以在声明变量时指定数据类型,与Java不同的是,数据类型需要放到变量名的后面,这使得读者面对复杂的数据类型时更易阅读:

    scala> val str:String="hello scala"
    str: String = hello scala

由于val声明的变量是不可修改的,若对上方声明的变量str进行修改,则会报以下错误:

    scala> str="hello scala2"
    <console>:12: error: reassignment to val
          str="hello scala2"
             ^

因此,如果希望变量可以被修改,就需要使用var声明:

    scala> var str="my scala"
    str: String = my scala
       
    scala> str="my scala2"
    str: String = my scala2

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

    scala> val str=
        | "hello everyone"
    str: String = hello everyone

此外,还可以将多个变量放在一起进行声明:

    scala> val x,y="hello scala"
    x: String = hello scala
    y: String = hello scala

Scala变量的声明,需要注意的地方总结如下:

· 定义变量需要初始化,否则会报错。

· 定义变量时可以不指定数据类型,系统会根据初始化值推断变量的类型。

· Scala中鼓励优先使用val(常量),除非确实需要对其进行修改。

· Scala语句不需要写结束符,只有同一行代码使用多条语句时才需要使用分号隔开。