【本节知识点】
- 知识点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:如何在其他类中访问另一个类中定义的静态变量?
参考答案要点:
变量是在程序运行过程中其值可以不断改变的量。其三要素是:变量名、变量类型和变量值。
命名规则:① 由字母、数字、下划线组成,首字符为字母或下划线;② 不能包含空格、标点、运算符;③ 区分大小写;④ 不能与C#关键字同名(除非加@前缀)。
定义格式
[访问修饰符] 数据类型 变量名;
。必须先声明后使用,因为编译器需要根据声明的类型为变量分配内存空间。变量的作用域指程序代码能访问该变量的区域。分为成员变量(类体内定义)和局部变量(方法体内定义)。
成员变量是在类体中定义的变量,在整个类中都有效。分为实例变量(属于对象)和静态变量/类变量(
static
修饰,属于类)。局部变量是在方法内部或代码块内声明的变量,只在当前方法或代码块内有效。其生命周期与方法调用一致,调用结束时被销毁。
静态变量使
static
关键字修饰。在其他类中可以通类名.静态变量名
的方式访问。变量的本质是内存中的存储空间。可以将其比喻为一个容器(如盒子、柜子),变量名是容器标签,变量类型决定容器的形状和大小,变量值就是容器中存放的东西。