Files
scala_20260908/README.md
T
2026-09-10 09:37:36 +08:00

90 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
私有学习笔记,暂不外发。