Administrator
发布于 2025-09-11 / 0 阅读
0
0

C#第3章: C#语言基础- 变量

【本节知识点】

- 知识点1:变量是什么?

- 知识点2:变量的本质是什么?请用一个形象的比喻来说明。

- 知识点3:简述变量的三要素

- 知识点4:变量命名时需要遵循哪些规则

- 知识点5:定义变量的语法格式是什么?

- 知识点6:为什么必须先声明后使用?

- 知识点7:变量的作用域是什么?

- 知识点8:根据作用域的不同,变量可分为哪两大类?

- 知识点9:请解释“成员变量”的概念。

- 知识点10:成员具体分为哪两种?它们的作用域有何不同?

- 知识点11:什么是“局部变量”?

- 知识点12:局部变量的作用域和生命周期有什么特点?

- 知识点13:静态变量(类变量)有什么特殊之处?

- 知识点14:如何在其他类中访问另一个类中定义的静态变量?

---

## 量是什么

- 动词:测量、计量、丈量

- 名词:容器

## 变量

### 变量是什么

定义:

- 变量是命名的内存地址。

- 变量是数据的别名。

- 变量是程序引用数据的一种方式。

你可以理解为:变量是一个存储数据的容器。变量就是可以变化的量,变量与常量相对应,常量指不可以变化的量。

### 声明变量

语法

```csharp

数据类型 变量名; //声明变量可以不赋值

```

示例

```csharp

int age;

string name;

bool isOnline;

```

注意

1.变量必须先初始化才能使用。

```csharp

int y;

// Console.WriteLine(y); // ❌ 错误:未赋值

```

2.声明变量时,必须指定数据类型;

3.变量类型不能修改

```csharp

int x = 10;

x = 20; // ✅ 正确

// x = "hello"; // ❌ 错误:类型不匹配

```

### 初始化变量

定义:初始化变量指第一次为变量赋值。

语法

```csharp

数据类型 变量名 = 值; //声明变量的同时赋值

```

示例

```csharp

int age = 25;

string name = "Alice";

bool isOnline = true;

```

### 变量命名规则

必须遵守的规则

* 只能包含字母、数字和下划线,不能以数字开头

* 不能使用 C# 关键字作为变量名(如 int, class 等)

推荐规则:

1.驼峰式: 推荐使用2个以上的单词命名,第一个单词首字母小写,其他单词首字母大写

```c#

int userAge;

string userName;

```

2.有语义

```c#

int t = 18; // t没有语义,不推荐

int age = 18; //推荐

string a = "张三"; //a没有语义,不推荐

string name = "张三"; //推荐

```

命名规范(推荐)

| 用途 | 命名方式 | 示例 | 说明 |

| ---------- | ----------- | ------------------- | ----------------------- |

| 变量名 | 小驼峰命名法 | userName, count | 首字母小写,每个单词首字母大写 |

| 方法名 | 帕斯卡命名法 | GetUserName() | 所有单词首字母大写 |

| 类名/结构名 | 帕斯卡命名法 | Person, CarInfo | 所有单词首字母大写 |

| 常量名 | 帕斯卡命名法 | MaxLength | 所有单词首字母大写 |

## 常量

### 常量是什么

常量指值不可变的变量。也就是说,常量是指在程序运行期间值始终不能改变。一旦声明并赋值,就不能再修改它的值。

### 常量的声明

因为常量的值是不可变值,所以在声明常量时,必须初始化。

语法:

```csharp

const 数据类型 常量名 = 值;

```

示例:

```csharp

const double Pi = 3.14159;

const int MaxScore = 100;

```

注意:

Pi MaxScore *是常量,不能在程序中被重新赋值

* 如果尝试修改它们,会报错:

```csharp

Pi = 3.14; // ❌ 编译错误:不能给常量赋值

```

### 常量的命名方法

微软官方推荐使用“帕斯卡命名法”(PascalCase)命名常量。

```csharp

const int MaxValue = 100;

readonly string DefaultName = "Admin";

```

### 常量的应用场景

- 定义数学常数:

```csharp

const double Gravity = 9.8;

```

- 定义配置信息(不变的):

```csharp

const string AppName = "MyApp";

const string AppAuthor = "张三";

```

## 知识点1:变量是什么?

## 知识点2:变量的本质是什么?请用一个形象的比喻来说明。

## 知识点3:简述变量的三要素

## 知识点4:变量命名时需要遵循哪些规则

## 知识点5:定义变量的语法格式是什么?

## 知识点6:为什么必须先声明后使用?

## 知识点7:变量的作用域是什么?

## 知识点8:根据作用域的不同,变量可分为哪两大类?

## 知识点9:请解释“成员变量”的概念。

## 知识点10:成员具体分为哪两种?它们的作用域有何不同?

## 知识点11:什么是“局部变量”?

## 知识点12:局部变量的作用域和生命周期有什么特点?

## 知识点13:静态变量(类变量)有什么特殊之处?

## 知识点14:如何在其他类中访问另一个类中定义的静态变量?

参考答案要点:

  1. 变量是在程序运行过程中其值可以不断改变的量。其三要素是:变量名变量类型变量值

  2. 命名规则:① 由字母、数字、下划线组成,首字符为字母或下划线;② 不能包含空格、标点、运算符;③ 区分大小写;④ 不能与C#关键字同名(除非加@前缀)。

  3. 定义格式[访问修饰符] 数据类型 变量名;。必须先声明后使用,因为编译器需要根据声明的类型为变量分配内存空间。

  4. 变量的作用域指程序代码能访问该变量的区域。分为成员变量(类体内定义)和局部变量(方法体内定义)。

  5. 成员变量是在类体中定义的变量,在整个类中都有效。分为实例变量(属于对象)和静态变量/类变量static修饰,属于类)。

  6. 局部变量是在方法内部或代码块内声明的变量,只在当前方法或代码块内有效。其生命周期与方法调用一致,调用结束时被销毁。

  7. 静态变量使static关键字修饰。在其他类中可以通类名.静态变量名的方式访问。

  8. 变量的本质是内存中的存储空间。可以将其比喻为一个容器(如盒子、柜子),变量名是容器标签,变量类型决定容器的形状和大小,变量值就是容器中存放的东西。


评论