# scala_20260908 Scala 学习笔记工程,记录 2026-09-08 线下课内容。 ## 课程内容 - 变量和数据类型 - 运算符 ## 项目结构 ``` scala_20260908/ ├── pom.xml # Maven 配置:JDK 8 + scala-maven-plugin 4.8.1 └── 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 - Maven 3.x(`pom.xml` 已配好 `scala-maven-plugin` 4.8.1) - IntelliJ IDEA(可选,装 Scala 插件即可直接运行) ## 运行方式 ### 命令行(Maven) 先编译: ```bash mvn clean compile ``` 再跑某个入口(任选其一): ```bash mvn scala:run -DmainClass=Hello mvn scala:run -DmainClass=demo1.DemoVar mvn scala:run -DmainClass=demo2.DemoStr mvn scala:run -DmainClass=demo2.DemoVar2 mvn scala:run -DmainClass=demo3.DemoOps mvn scala:run -DmainClass=practise1.Demo1VarAndVal mvn scala:run -DmainClass=practise1.Demo2Type mvn scala:run -DmainClass=practise1.Demo3StringInterpolation mvn scala:run -DmainClass=practise1.Demo4If mvn scala:run -DmainClass=practise1.Practise1 mvn scala:run -DmainClass=practise1.Practise2 mvn scala:run -DmainClass=practise1.Practise3 mvn scala:run -DmainClass=practise1.Practise4 mvn scala:run -DmainClass=practise1.Overall ``` ### IntelliJ 1. 用 IDEA 打开本目录 2. 装 Scala 插件(首次会提示) 3. 打开任意 `.scala` 文件,右键 `Run 'XXX.main()'` ## 重点速记 - `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 私有学习笔记,暂不外发。