2026-09-09 17:39:15 +08:00
2026-09-09 17:28:36 +08:00
2026-09-09 17:37:34 +08:00
2026-09-09 17:28:36 +08:00
2026-09-09 17:28:36 +08:00
2026-09-09 17:39:15 +08:00

scala_20260908

Scala 学习笔记工程,记录 2026-09-08 线下课内容。

课程内容

  • 变量和数据类型
  • 运算符

项目结构

scala_20260908/
├── pom.xml                          # Maven 配置(仅声明 JDK 21,未配置 Scala 插件)
└── src/main/scala/
    ├── Hello.scala                  # 入口:Hello world
    ├── demo1/
    │   └── DemoVar.scala            # val vs var
    ├── demo2/
    │   ├── DemoStr.scala            # 字符串 + s 插值 + == / eq
    │   └── DemoVar2.scala           # 数据类型 + 隐式转换 + 强制转换
    ├── demo3/
    │   └── DemoOps.scala            # 算术 / 比较 / 逻辑 / 赋值运算符
    └── practise1/                   # 课堂练习
        ├── Demo1VarAndVal.scala     # val / var 基础
        ├── Demo2Type.scala          # 类型推断 vs 显式声明
        ├── Demo3StringInterpolation.scala  # s 插值
        ├── Demo4If.scala            # if 表达式
        ├── Practise1.scala          # 练习:基本变量输出
        ├── Practise2.scala          # 练习:判断年龄
        ├── Practise3.scala          # 练习:四则运算
        ├── Practise4.scala          # 练习:成绩分级
        └── Overall.scala            # 综合练习

环境要求

  • JDK 8
  • Scala 2.11.12
  • IntelliJ IDEA(推荐,装 Scala 插件即可直接运行)
  • Maven(可选,配合 pom.xml 编译)

注意:当前 pom.xml 里 <maven.compiler.source/target> 还写着 21,跟实际环境对不上。 Scala 2.11.12 也不支持 JDK 9+,需要把 pom.xml 改成 JDK 8 并加上 scala-maven-plugin。 否则直接用 IntelliJ 跑 main 最省事。

运行方式

IntelliJ(推荐)

  1. 用 IDEA 打开本目录
  2. 等待 IDEA 识别为 Scala 项目(首次会提示装 Scala 插件)
  3. 打开任意 .scala 文件,右键 Run 'XXX.main()'

命令行(需要先配好 scala-maven-plugin)

mvn scala:run -DmainClass=Hello
mvn scala:run -DmainClass=demo1.DemoVar
mvn scala:run -DmainClass=demo3.DemoOps
mvn scala:run -DmainClass=practise1.Overall

重点速记

  • val 定义常量(不能重新赋值),var 定义变量。优先用 val
  • Scala 的 == 等价于 Java 的 equals(比较内容),eq 才等价于 Java 的 ==(比较地址)
  • s"..." 是字符串插值,表达式用 ${...}
  • if 在 Scala 里是表达式,可以直接 val x = if (cond) a else b
  • 整数除法默认向 0 取整(10 / 3 == 3),想要小数至少一边要 .0
  • Byte → Long 隐式转换合法,Long → Byte 必须 .toByte,且可能溢出(129 → -127)

License

私有学习笔记,暂不外发。

S
Description
线下课
Readme
141 KiB
Languages
Scala 100%