|
|
@@ -148,14 +148,16 @@ boolean isPass = true;
|
|
|
|
|
|
### 4. 基本数据类型 vs 引用数据类型
|
|
|
|
|
|
-Java 中除了 8 种基本数据类型,其余全部是引用数据类型。两者核心区别如下:
|
|
|
+Java 中除了 8 种基本数据类型,其余全部是引用数据类型。两者在底层有着本质区别:
|
|
|
|
|
|
-| 对比维度 | 基本数据类型 | 引用数据类型 |
|
|
|
-|---------|-------------|-------------|
|
|
|
-| **存什么** | 直接存"值" | 存数据在内存中分配的**空间地址值** |
|
|
|
-| **默认值** | `0` / `0.0` / `false` | `null` |
|
|
|
-| **赋值** | 直接复制值,值之间互相独立 | 复制的是**地址值** |
|
|
|
-| **比较** | 比较的是值 | 比较的是地址(`==`) |
|
|
|
+| 维度 | 基本数据类型 | 引用数据类型 |
|
|
|
+|------|------------|-------------|
|
|
|
+| **存什么** | 直接存"值" | 存的是数据在内存中分配的**空间地址值** |
|
|
|
+| **默认值** | `0` / `0.0` / `false` | `null`(空) |
|
|
|
+| **赋值行为** | 直接复制值,值与值之间互相独立 | 复制的是**地址值**,多个引用可能指向同一对象 |
|
|
|
+| **比较方式** | 比较的是值(内容) | 比较的是地址(`==` 默认比较地址) |
|
|
|
+
|
|
|
+> 💡 **一句话总结**:基本类型存的是"东西本身",引用类型存的是"东西放在哪里的门牌号"。
|
|
|
|
|
|
#### 典型引用类型:String(字符串)
|
|
|
|
|
|
@@ -163,12 +165,35 @@ Java 中除了 8 种基本数据类型,其余全部是引用数据类型。两
|
|
|
String name = "张三";
|
|
|
```
|
|
|
|
|
|
-> ⚠️ **注意**:`String` **不是**关键字(keyword),它是 Java 官方提供的类,属于引用数据类型。
|
|
|
+> ⚠️ **重要**:`String` **不是** Java 关键字(keyword),它是 Java 官方提供的类,属于引用数据类型。
|
|
|
>
|
|
|
-> 所有引用数据类型的命名都遵循**大驼峰(PascalCase)**:每个单词首字母大写。
|
|
|
+> 所有引用数据类型的命名都遵循**大驼峰命名法(PascalCase)**:每个单词的首字母都大写。
|
|
|
>
|
|
|
> 例如:`StringBuffer`、`MyClass`、`StudentName`
|
|
|
|
|
|
+#### 课堂练习:个人简历变量定义
|
|
|
+
|
|
|
+根据注释中的要求,为以下个人信息选择合适的数据类型并定义变量:
|
|
|
+
|
|
|
+| 信息 | 推荐数据类型 | 说明 |
|
|
|
+|------|------------|------|
|
|
|
+| 姓名 | `String` | 字符串 |
|
|
|
+| 年龄 | `int` | 整数 |
|
|
|
+| 学号 | `String` 或 `long` | 学号可能含前导零,推荐 String |
|
|
|
+| 性别 | `char` 或 `String` | 单字符可用 `char` |
|
|
|
+| 身高(cm) | `double` 或 `int` | 小数用 `double` |
|
|
|
+| 体重(kg) | `double` | 小数用 `double` |
|
|
|
+| 学校 | `String` | 字符串 |
|
|
|
+| 专业 | `String` | 字符串 |
|
|
|
+| 班级 | `String` | 字符串 |
|
|
|
+| 爱好 | `String` | 字符串 |
|
|
|
+
|
|
|
+```java
|
|
|
+// 示例:
|
|
|
+String name = "张三";
|
|
|
+System.out.println("我叫:" + name);
|
|
|
+```
|
|
|
+
|
|
|
---
|
|
|
|
|
|
## 五、输出语句
|