跳转至

任务二 常量与变量

开场

上一节课,我们认识了三种基本数据类型,它们就像编程世界里的“基础原料”。

今天我们要聊聊如何使用这些“原料”,使用“原料”的基本方式有三种,即:字面量、变量与常量。


量是什么

字面量、变量与常量这三个术语中的“量”本质上都指:可量化的“数据值”。

比如:张三今年25岁,得了90.5分,这里的“张三”、25、90.5 就是数据值,也就是我们说的‘量’。”

接下来,请听我一一解释。

字面量是什么

字面量就是直接出现在程序中的具体值,它强调不以变量形式出现,没有变量名,它本身就是值。比如:

向控制台输出”张三",张三就是一个字面量。

Console.WriteLine("张三"); 
Console.WriteLine(10);// 10就是一个字面量,表示自身大小是10。
Console.WriteLine(true); //true是一个字面量,表示自身的值是true。
在程序中,使用字面量的最大好处就是可读性强:直截了当表达意图,决不拐弯抹角玩抽象,决不让你猜。

字面量妥妥就是一个钢铁直男。

什么时候使用“字面量”?它特别适合用于”一次性消费“的场景。比如:

Console.WriteLine("操作成功");
”操作成功“四个字传递的是一种状态提示,通常不会反复出现。

如果反复出现,就不适合了。比如:

Console.WriteLine("张三"); 
Console.WriteLine("张三"); 
Console.WriteLine("张三"); 
Console.WriteLine("张三"); 
Console.WriteLine("张三"); 
Console.WriteLine("张三"); 
字面量”张三“反复出现在程序中,一旦后续需要修改,用字面量就得改7处,非常麻烦,而用变量只需改1处。

变量是什么

变量就是数据的别名。相当于给数据起了一个外号;声明变量的基础语法是:

数据类型 变量名 = 初始值; //赋值等号
- C# 是强类型语言,每个变量在声明时必须指定类型; - 变量名就是你为数据起的外号。但外号需要符合一定规则,我们下节课会详细讲。 - 等号在这里不是数学里的“等于”,而是“赋值符号”,赋值的意思是:把右边的值,赋给左边的变量名,这叫变量的初始化。 - 最后不要忘记加分号。

声明整数变量

int关键词用于声明整数型变量,变量名是age,初始值是25

int age = 25;
Console.WriteLine(age);//使用Console.WriteLine向控制台输出age;结果是25

声明字符串变量

string关键词用于声明字符串变量

string name = "张三"; 
Console.WriteLine(name);

声明浮点数变量

double关键词用于声明一个双精度的浮点数变量,

double score = 90.5;

声明单字符变量

char关键词用于声明单字符变量,

char a = 'A';

声明布尔值变量

bool关键词用于声明布尔值变量,

bool isFinished = true;

声明多个变量

我们也可以一次声明多个同类型变量同时赋值,请看示例:

示例:声明三个变量a,b,c,初始值分别是:"张三","李四","王五",输出a,b,c到控制台;

string a = "张三", b = "李四", c = "王五";
Console.WriteLine(a + " " + b + " " + c);

先声明变量,再赋值

示例:声明三个变量chinese,math,english,初始值分别是:75.5,85.5,95.5,输出三门成绩到控制台;

double chinese, math, english;
chinese = 75.5;
math = 85.5;
english = 95.5;
Console.WriteLine(chinese + " " + math + " " + english);

你也可以只声明变量名,但未赋值的变量不能直接使用,必须在后面赋值后才能使用,但是这种语法稍显繁琐,推荐使用第一种声明方式。

常量

常量就是在程序运行过程中,其值不会改变的量。

  • 常量也是用一个名字表示数据值;
  • 区别是变量中的数据值是可以修改的,而常量代表的数据值不可以修改;
  • 常量好比上了锁的变量,一旦创建,它的值就不能被修改。

常量的分类

常量可以分为:

  • 直接常量:字面量
  • 符号常量:使用特定的标识符表示数据值。

声明常量的语法

声明常量的语法和声明变量的语法非常类似,只是多了一个const关键词。

const 数据类型 常量名 = 字面量值;
- const: const关键词就像一把锁,把常量值固定下来,不能修改。 - 常量名的优势是“一改全改”。

示例

const double PI = 3.1416;
PI = 3.14; // ❌ 如果你尝试修改,编译器会报错
  • PI:常量名,建议常量名使用帕斯卡命名法。
  • 常量一经定义,w 使用常量的最大优点是保证关键数据不被修改,同时明确传达这是一个固定值。

✅ 总结

  • 字面量:字面量是程序中直接出现的固定值,例如 100、"hello"、true。
  • 变量:变量是数据的别名,它的值可以在程序运行过程中改变。
  • 常量:常量是值被锁定的变量,一旦赋值后就不能再修改。

随着学习的深入,很快你会体会到:使用变量和常量存储数据,会让程序变的更灵活。

结束语

本节课就到这里,这里是不好奇编程,我是张杰。

如果这个视频对你有帮助,别忘了点赞、收藏、关注,感谢观看,我们下期再见!

慢慢学,一点点进步就很好!

练习

选择题

1. 下列哪个属于字面量?

A. name B. "张三" C. string name = "张三"; D. Console.WriteLine(name);

✅正确答案:B


2. C#中,声明变量必须指定数据类型。(判断题)

✅正确答案:✅ 正确


3. 下列哪个变量命名是合法的?

A. 1score B. class C. student_age D. -name

✅正确答案:C


4. 常量一旦声明,其值

A. 可以改变 B. 不能改变 C. 只能改变一次 D. 会自动改变

✅正确答案:B


5. 下列语句中,正确声明常量的是?

A. const int age; B. const int age = 25; C. int const age = 25; D. constant int age = 25;

✅正确答案:B


简答题

6. 请写出以下变量声明语句中,等号左右两部分的含义:

int age = 18;

✅参考答案:

  • int age:声明一个名为 age 的整数变量;
  • = 18:将字面量 18 赋值给变量 age。

7. 请写出一条向控制台输出“登录成功”的语句,要求使用字面量。

✅参考答案:

Console.WriteLine("登录成功");

8. 请写出一条向控制台输出“张三”的语句,要求使用变量。

✅参考答案:

string name = "张三";
Console.WriteLine(name);

9. 请写出一条声明常量PI值为3.14的语句。

✅参考答案:

const double PI = 3.14;

10. 判断下列代码能否编译通过?如果不能,请说明原因。

const int max = 100;
max = 120;

✅参考答案: 不能通过编译。因为常量一旦赋值,不能再修改。


实战题(代码练习题)

11. 声明3个变量,分别代表语文、数学、英语成绩,并计算总分,输出结果。

✅参考答案:

double chinese = 90.5, math = 88, english = 94;
double total = chinese + math + english;
Console.WriteLine("总分:" + total);

12. 将下列重复的字面量改为使用变量优化:

Console.WriteLine("欢迎使用系统");
Console.WriteLine("欢迎使用系统");
Console.WriteLine("欢迎使用系统");

✅参考答案:

string message = "欢迎使用系统";
Console.WriteLine(message);
Console.WriteLine(message);
Console.WriteLine(message);

13. 以下代码中的变量命名是否合规?如不合规,请修改:

string 1name = "李雷";
int age! = 18;

✅参考答案:

  • 1name 不合法,不能以数字开头;应改为 name1
  • age! 不合法,不能包含特殊符号;应改为 age

14. 编写一个程序,输出你的姓名、年龄和性别(使用变量实现)。

✅示例答案:

string name = "张杰";
int age = 25;
string gender = "男";
Console.WriteLine("姓名:" + name);
Console.WriteLine("年龄:" + age);
Console.WriteLine("性别:" + gender);

15. 请说出变量和常量的两个主要区别。

✅参考答案:

  1. 变量的值在程序运行过程中可以修改;常量的值不能修改。
  2. 常量使用 const 关键字声明,变量不需要。

16.输出a+b的结果

int a = 10;
int b = 20;
int sum = a + b;
Console.WriteLine("结果是:" + sum);

运行后输出:

结果是:30

说明变量 ab 存储了数据,可以参与运算,结果赋值给了 sum,最后输出。


17.输出成绩

你可以自己试试,写一个小程序,声明三个变量:

string name = "小明";
int age = 18;
bool hasPassed = true;

然后输出这些变量:

Console.WriteLine("姓名:" + name);
Console.WriteLine("年龄:" + age);
Console.WriteLine("是否通过考试:" + hasPassed);