数据类型

       Unit:表示无值,等同于 Java 中的 void。用作不返回任何结果的方法的结果类型。Unit 只有一个实例值,写成 ()

       Null:null 或空引用

       Nothing:Nothing 类型在 Scala 的类层级的最低端;它是任何其他类型的子类型

       Any:Any 是所有其他类的超类

       AnyRef:AnyRef 类是 Scala 里所有引用类 (reference class) 的基类

定义变量

       Scala 的变量分为两种,val 和 var,其区别如下:

  • val : 类似于 Java 中的 final 变量,一旦初始化就不能被重新赋值;
  • var :类似于 Java 中的非 final 变量,在整个声明周期内 var 可以被重新赋值;
/**
    *定义变量使用 var 或者 val 关键字
    *语法:
    *var|val 变量名称 (: 数据类型) = 变量值
    */

  程序还是把 a 当做 Int 类型,这就是 Scala 的类型推断。在大多数情况下,你都无需指明变量的类型,程序会自动进行推断。如果你想显式的声明类型,可以在变量后面指定

scala> val a=1
a: Int = 1

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

         Scala 支持 10 进制和 16 进制,但不支持八进制字面量和以 0 开头的整数字面量。

原生字符串

         Scala 提供了 """ ... """ 语法,通过三个双引号来表示原生字符串和多行字符串,使用该种方式,原生字符串中的特殊字符不会被转义。

scala> "hello \tool"
res4: String = hello    ool

scala> """hello \tool"""
res5: String = hello \tool

scala> """hello
     | world"""
res6: String =
hello
world

插值表达式

         Scala 支持插值表达式

scala> val name="xiaoming"
name: String = xiaoming

scala> println(s"My name is $name,I'm ${2*9}.")
My name is xiaoming,I'm 18.

对象相等性

        如果想要判断两个对象是否相等,可以使用 == 和 !=,这两个操作符可以用于所有的对象,包括 null。

scala> 1==2
res2: Boolean = false

scala> List(1,2,3)==List(1,2,3)
res3: Boolean = true

scala> 1==1.0
res4: Boolean = true

scala> List(1,2,3)==null
res5: Boolean = false

scala> null==null
res6: Boolean = true

 

posted on 2022-03-05 11:12  溪水静幽  阅读(134)  评论(0)    收藏  举报