03 scala基础语法和数据类型

62 阅读1分钟

一.Scala的标识符

 标识符的作用

作用是给对象、类、变量和方法命名。名字规则:

  1. 不能以数字开头,并且不能是Scala中的关键字(但可以包含关键字)。

  2. 符号$在Scala中也可以看作字母。然而以$开头的标识符被保留作为Scala编译器产生的标识符之用,应用程序应该避免使用$开头的标识符,以免造成冲突。

屏幕截图 2025-09-10 090443.png

二.Scala的关键字

屏幕截图 2025-09-10 091801.png

三.Scala代码中的注释

主要有三种注释的方式:

1. 单行注释。 // 注释的内容

2. 多行注释。 /* 注释的内容 */

3. 文档注释。/** 注释的内容*/

四.Scala的分号

屏幕截图 2025-09-10 094116.png

五.Scala的变量

关键字:有两个 varval。var用来定义可变变量 ,val用来定义不可变变量

定义一个变量

var | val 变量名:数据类型 = 值

屏幕截图 2025-09-10 095356.png

定义多个变量

var|val 变量名1, 变量名2, ... = 值

此时,所有的变量都有同样的数据类型和同样的值。

六.Scala的数据类型概述

Scala支持的数据类型

1. Byte: 8位有符号整数。数值区间为-128~127

2. Short:16位有符号整数。数值区间为-32768~32767

3. Int: 32位有符号整数。数值区间为-2147483648~2147483647。默认类型

4. Long: 64位有符号整数。数值区间为-9223372036854775808~ 9223372036854775807

5. Float:32位IEEE 754标准的单精度浮点数

6. Double:64位IEEE 754标准的双精度浮点数。默认值

7. Char:16位无符号Unicode字符, 区间值为U+0000~U+FFFF

8. String:字符序列

9. Boolean:true或false

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

11. Null:null或空引用

12. Nothing:Nothing类型在Scala的类层级的最底端,它是任何其他类型的子类型

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

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

屏幕截图 2025-09-10 100432.png

七. Scala中的数值数据类型

Scala中的数值类型可以分为三大类,分别为整数类型、字符类型和浮点类型,如图所示。其中整数类型包括字节、短整型(占16位)、整型(占32位)、长整型(占64位),浮点类型有单精度和双精度之分。

image.png

object Base03 {
  def main(args: Array[String]): Unit = {
    // 数据类型
    var a:Byte = 1
    a = 126

    var b = 1 // 默认是int

    var c = 1.1 // 默认是Double

    var d = 1.1f //

    // char 单引号
    var ch1: Char = 'A'

    var ch2 = 'a'

    var ch3:Char = 97

    println(ch1,ch2,ch3)
  }

}

结果如图:

屏幕截图 2025-09-11 093400.png

八. Scala的字符串类型

两种方式:

1. 双引号:""

2. 多引号:""" """。可支持换行。

在Scala中可使用以下三种方式将变量插到字符串中。

· s插值:表示成s"",例如s"his name is $name"

· f插值:表示成f"",例如f"his name is $name"

· raw插值:表示成raw"",例如raw"his name is $name"

object Base04 {
  def main(args: Array[String]): Unit = {
    // 字符串
//    println("床前明月光,
//      疑是地上霜")

    // 多引号,可以支持换行
//  println("""
//      床前明月光,
//      疑是地上霜。
//    """)


    var name = "小花"
    var age = 19
    println(s"我的名字是:$name, $age 岁")
    
  }

}

九.类型转换

object Base04 {
  def main(args: Array[String]): Unit = {
 

    var a:Double = 1

    var b = 2 + a

    // 强制类型转换
    // 格式:变量.to类型()
//    var  c:Int = 1.1
    var c:Int = (1.123).toInt
    println(c)

    var ch:Char = 65.toChar
    println(ch)
  }

}