购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 常量与变量

常量和变量是在编写程序时经常用到的两种程序元素,其中变量的使用频率更高,几乎遍及程序的始末。变量是指在程序运行的过程中,值可以发生变化的量;常量是指在程序运行的过程中,值不会发生变化的量。

3.4.1 声明和使用常量

常量又叫常数,它主要用来存储在程序运行过程中值不改变的数据。常量也有数据类型,C#语言中,常量的数据类型有多种,主要有sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、decimal、bool和string等。常量通过const关键字声明,并且常量必须在声明时初始化,否则将发生编译错误。下面列举了声明常量的几种情况。

【例3.11】 声明一一个整型常量,该常量用来表示一一年具有的月份数量。代码如下:

上面代码中,常量months将始终为12,不能更改,即使是该类自身也不能更改它。常量就相当于每个公民身份证号,一旦设置是不允许修改的。

【例3.12】 同时声明多个相同类型的常量,分别用来表示一一年具有的月份数、星期数、天数。代码如下:

学习手册 注意

在使用一条语句声明多个相同类型的常量时,常量间使用逗号隔开。

【例3.13】 用一一个常量表达式给另外一一个常量初始化,例如:

从上面的代码中可以看出,若在定义常量的类的内部使用该常量时,则直接使用常量名。

若在定义常量的类的外部使用该常量时,则必须使用类名、一个句点和常量名的形式访问该常量,例如:

int birthstones = Calendar.months; //在定义常量的类的外部使用该常量

学习手册 说明

在定义常量时,常量可标记为public、private、protected或internal,这些访问修饰符定义用户访问该常量的权限。

下面通过一个例子演示如何在程序中使用常量。

【例3.14】 创建一一个控制台应用程序,声明一一个变量num1并且赋值为98,然后再声明一一个常量num2并赋值为368,最后,将变量num1的值修改为368。代码如下:

程序运行结果如图3.13所示。

图3.13 在应用程序中使用常量

本程序中变量num1的初始化值为98,而常量num2的值为368,由于变量的值是可以修改的,所以变量num1可以重新被赋值为368后再输出。通过查看输出结果,可以看到变量num1的值可以被修改,但如果尝试修改常量num2的值,则编译器会出现错误信息,阻止进行这样的操作。

3.4.2 声明变量

声明变量就是指定变量的名称和类型,变量的声明非常重要,未经声明的变量本身并不合法,因此没有办法在程序当中使用。在C#中,声明一个变量是由一个类型和跟在后面的一个或多个变量名组成,多个变量之间用逗号分开,声明变量以分号结束。

在第一行代码中,声明了一个名称为intNum的整型变量。第二行代码中,声明了3个字符型的变量,分别为str1、str2和str3。

另外在声明变量时,还可以初始化变量,即在每个变量名后面加上给变量赋初始值的指令。

【例3.16】 声明一一个整型变量intNo,并且赋值为9527。然后再声明3个字符型变量,并初始化。代码如下:

在声明变量时,要注意变量名的命名规则。C#的变量名是一种标识符,应该符合标识符的命名规则。变量名是区分大小写的,下面列出变量的命名规则。

变量名只能由数字、字母和下画线组成。

变量名的第一个符号只能是字母和下画线,不能是数字。

不能使用关键字作为变量名。

一旦在一个语句块中定义了一个变量名,那么在变量的作用域内都不能再定义同名的变量。

3.4.3 定义变量的作用域

变量的作用域就是可以访问该变量的代码区域。一般情况下,可以通过以下规则确定变量的作用域:

只要字段所属的类在某个作用域内,其字段也在该作用域内。

局部变量存在于表示声明该变量的块语句或方法结束的封闭花括号之前的作用域内。

在for、while或类似语句中声明的局部变量存在于该循环体内。

学习手册 注意

在C#语言中,全局变量的功能一般由公共的静态属性来完成,静态属性是在程序加载时就分配了内存,整个程序运行完时才回收;局部变量是在程序运行到时才分配,这个方法执行完时就回收;所以应尽可能地少定义全局变量。

【例3.17】 创建一一个控制台应用程序,使用for循环将从0~~20的数字显示出来。然后在for语句中声明变量i,此时i就是局部变量,其作用域只限于for循环体内。代码如下:

程序运行结果为“0~20的数字”。

3.4.4 给变量赋值

在C#中,使用赋值运算符“=”(即一个等号)来给变量赋值,将等号右边的值赋给左边的变量。

【例3.18】 声明一一个变量,并给变量赋值,代码如下:

在3.4.2节介绍的初始化变量,其实是一种特殊的赋值方式,它在声明变量的同时给变量赋值。在给变量赋值时,等号右边也可以是一个已经被赋值的变量。

【例3.19】 首先声明两个变量sum和num,然后将变量sum赋值为927,最后将变量sum赋值给变量num。代码如下:

学习手册 注意

在对多个同类型的变量赋同一个值时,为了节省代码的行数,可以同时对多个变量进行初始化:int a, b, c, d, e; a = b = c = d = e = 0;。 f2TOHLskQss6zDBESAKdRTcU4mUA+SM9h85YldzQ6zB6v3StMwh+BkhHU3fjs7JD

点击中间区域
呼出菜单
上一章
目录
下一章
×