feat:
线下课: 1、变量和数据类型 2、运算符 ChatGPT Scala 第 1 课: 变量、类型、条件判断
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# 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)
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
私有学习笔记,暂不外发。
|
||||
Reference in New Issue
Block a user