Просмотр исходного кода

docs: 优化 Demo06 编码表设计 + 追加 Demo07 var 类型推断

- 重设计 Demo06 编码表:补充 ASCII 256字符、Unicode 65536说明
- 新增编程语言演变(机器语言→汇编→高级语言)
- 新增「类型推断 var」小节(JDK 10+ 编译时语法糖)
- 完整代码示例新增 Demo07.java 代码块
- 随堂练习要点新增第 18~19 条
WanJL 1 день назад
Родитель
Сommit
f9e8d66784
1 измененных файлов с 67 добавлено и 4 удалено
  1. 67 4
      课堂笔记/01-JavaSE基础-笔记/20260713-笔记.md

+ 67 - 4
课堂笔记/01-JavaSE基础-笔记/20260713-笔记.md

@@ -298,22 +298,49 @@ System.out.println(c6);  // 输出 'a'(97 对应 ASCII 表的 'a')
 
 > Java 中 8 种基本数据类型除了 `boolean`,其余 7 种都属于**数值类型**,都可以转换为数字。
 
+#### 编程语言的演变
+
+```
+机器语言(二进制)→ 汇编(单词缩写)→ 高级语言(C / C++ / Java ...)
+```
+
+计算机底层只能识别二进制,为了方便人类读写,逐渐发展出汇编和高级语言。
+
 #### 编码与解码
 
 | 概念 | 方向 | 说明 |
 |------|------|------|
-| **编码** | 字符 → 二进制数 | 把人类可读的字符转换为计算机能识别的二进制 |
-| **解码** | 二进制数 → 字符 | 把二进制转换回人类可读的字符 |
+| **编码(Encode)** | 字符 → 二进制数 | 把人类可读的字符映射为计算机识别的二进制 |
+| **解码(Decode)** | 二进制数 → 字符 | 把二进制映射回人类可读的字符 |
 
 #### 常见编码表(字符集)
 
 | 编码表 | 说明 |
 |--------|------|
-| **ASCII** | 美国标准信息交换码,使用 1 字节(7 位实际有效),共 128 个字符 |
+| **ASCII** | 美国标准信息交换码,使用 **1 字节(8 位)** 存放对照表,共 **256 个字符**(-128 ~ 127) |
 | **GB-2312 / GBK** | 中国国家标准简体中文字符集 |
-| **Unicode** | 通用字符编码标准,使用 2 字节,可表示 65536 个字符 |
+| **Unicode** | 通用字符编码标准,基于 **2 字节(16 位)** 设计,可表示 **65536**(256×256)个字符 |
 | **UTF-8** | Unicode 的一种变长编码实现,互联网最常用的字符集(中国大陆常用编码) |
 
+### 7. 类型推断 `var`(JDK 10+)
+
+> 从 **JDK 10** 开始,Java 新增了**局部变量类型推断**,使用 `var` 关键字声明变量,由编译器自动推断类型。
+
+```java
+var name = "张三";  // 推断为 String
+var age = 25;       // 推断为 int
+var gender = '男';  // 推断为 char
+var score = 85.6;   // 推断为 double
+```
+
+**本质说明:**
+
+- `var` 是**编译时语法糖**(syntactic sugar),编译后变量仍有确定的静态类型
+- **不影响运行性能**,编译后 `var` 会被替换为实际类型
+- 只能在**局部变量**(方法内部)使用,不能用于成员变量、方法参数等
+
+> ⚠️ 注意:Java 仍然是**强类型语言**——定义变量必须先指定类型,变量值必须符合类型要求。`var` 只是让编译器替你写类型,类型约束依然存在。
+
 ---
 
 ## 五、输出语句
@@ -554,6 +581,40 @@ public class Demo06 {
 }
 ```
 
+### Demo07.java — 类型推断 var(JDK 10+)
+
+```java
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo07
+ * @description java的类型推断 var (JDK10+)
+ * @create 2026/7/13
+ */
+public class Demo07 {
+    public static void main(String[] args) {
+        /*
+            JDK10以上,新增了类型推断
+            之前的Java属于强类型语言
+                - 定义变量的时候,必须先指定类型
+                - 变量值必须要符合类型的要求
+                int a = 10;
+                int b = "张三"; // 报错
+         */
+        var name = "张三";
+        var age = 25;
+        var gender = '男';
+        var score = 85.6;
+
+        // var 属于编译时语法糖,不影响运行性能
+        System.out.println(name);
+        System.out.println(age);
+        System.out.println(gender);
+        System.out.println(score);
+    }
+}
+```
+
 ---
 
 ## 九、随堂练习要点
@@ -575,6 +636,8 @@ public class Demo06 {
 15. 整数除法结果直接**截断小数**,不是四舍五入
 16. `char` 本质是数值类型,可查询 **ASCII 码表** 与 `int` 相互转换
 17. 区分**编码**(字符→二进制)与**解码**(二进制→字符),了解常见字符集(ASCII、GBK、Unicode、UTF-8)
+18. 了解 `var` 类型推断(JDK 10+):编译时语法糖,不影响运行性能,只能在局部变量使用
+19. Java 仍然是**强类型语言**,`var` 只是让编译器替你写类型,类型约束依然存在
 
 ---