2.2 变量和常量
变量和常量用来代表程序中的数据,是程序运行不可缺少的一部分,本节介绍如何定义变量和常量,并详细介绍不同类型变量的作用域。
2.2.1 声明和使用常量
常量通常用来保存一个固定值,例如,在程序设计中,圆周率“p”是一个固定的值,那么,在程序开始时,就可以将其定义为一个常量。
常量的定义语法如下所示,其中,“const”是定义常量的关键字,同时还要将变量名大写。
const 数据类型 变量名=一个固定的值;
下面的实例演示一个常量的定义和使用过程,主要目的是求一个指定半径的圆的面积。
class Program
{
const double PAI=3.1415926; //定义圆周率——常量
static void Main(string[] args)
{
double r = 2.3; //定义圆的半径
double area = PAI * r * r; /计算圆的面积
Console.WriteLine("圆的面积为: {0}", area); //输出结果
}
}
本例的输出结果如图2.2所示。

图2.2 圆的面积
2.2.2 声明和使用变量
变量的使用比常量要复杂得多,它具备固定的数据类型,还有专门的作用域。声明变量时,必须指定变量的类型。变量名一般都是小写字母,如果变量的名字比较长,可将第二个单词的首字母大写。定义变量的语法如下所示。
int x, y; //定义变量,可同时定义多个
int z = 0; //定义变量,可指定变量的初始值
下面的一个实例演示如何声明并使用程序中的变量。
class Program
{
static void Main(string[] args)
{
int x, y; //定义变量x和y
int z = 0; //定义变量z
z = x * y; //求x和y的积
Console.WriteLine("两个数的积: {0}", z); //输出结果
}
}
注意:如果在声明变量时,没有指定其作用域,则默认在本过程内有效。
2.2.3 变量的作用域
作用域就是指变量的有效期,一般分为局部变量和全局变量。
局部变量是指在某一个阶段内此变量允许调用,而此阶段完成后,变量就被释放,再调用会发生错误。一般使用“private”来声明,声明语法如下所示。
private 数据类型 变量名;
全局变量是指变量在程序的运行期间都有效,当程序结束时,变量才会被释放。全局变量使用“public”来声明,声明语法如下所示。
public数据类型 变量名;
其实,全局变量和局部变量的定义有相对性,即全局变量不一定就是针对整个应用程序,也许是针对某个模块或某个类。下面的代码演示一个全局变量和局部变量的对比。其中,类“test”中有两个变量:一个是全局变量,另一个是局部变量。
class Program
{
static void Main(string[] args)
{
test test1 = new test(); //初始化test类
int x1 = test1.x; //获取类中的x——局部变量
int y1 = test1.y; //获取类中的y——全局变量
Console.WriteLine("类的初始值为: {0}", y1); //输出结果
}
}
class test
{
private int x=100;
public int y=10;
}
运行上面的代码,系统会提示一个错误,如图2.3所示。表示局部变量根本无法访问。

图2.3 运行时的错误提示
去掉这段错误的代码,然后按“Ctrl+F5”组合键运行程序,可以得到正确的访问结果。希望读者能通过此例,了解全局变量和局部变量的作用域。





