程序的开发离不开变量和常量的应用。我们在学习vb的时候,也对变量和常量有了一定的了解,其实非常简单,变量就是本身被用于存储特定类型的数据,而常量则存储不变的数据值。
一、变量
1.基本概念:
变量本身被用于存储特定类型的数据,可以根据需要随时改变变量中所存储的数据值。变量具有名称、类型和值。和类相同,使用变量之前也必须声明变量,即指定变量的类型和名称。
2.变量类型:
C#中变量类型根据定义可以分为两种:一种是值类型,另一种是引用类型。两者的差异在于数据的存储方式。值类型的变量本身直接存储数据,而引用类型则存储实际数据的引用,程序通过此引用找到真正的数据。
(1)值类型
值类型主要包含整数类型、浮点类型以及布尔类型等。值类型变量在堆栈中进行分配,所有效率很高。
A.整数类型:
在这里说明了每个数据类型的范围,是为了我们可以根据数值的大小选择合适的数据类型,否则可能会导致运算溢出的处理。
例如:声明一个byte类型的变量Android并初始化为255,并输出。代码如下:
static voidMain(string[] args)
{
byte android =255; //声明一个byte类型的变量Android
Console.WriteLine("android={0}",android ); //输出byte类型变量Android
Console.ReadLine();
}
结果显示:
当byte类型的初始值换为256时,见代码:
static void Main(string[] args)
{
byte android =256; //声明一个byte类型的变量Android
Console.WriteLine("android={0}",android ); //输出byte类型变量Android
Console.ReadLine();
}
则会出现以下错误:
这么两个简单的例子,就非常形象的说明了数据类型范围的重要性。
B.浮点类型:
主要处理含有小数的数值类型,主要包含float和double两种类型。
没有特别指定的情况数值默认是double类型,如果需要使用float类型变量时,必须在数值的后面跟随f或F,对其进行强制转换。例如:
float theMySum = 9.27f; //使用f强制指定为float类型
float theMySum = 9.27F; //使用F强制指定为float类型
将float类型转换为double类型也是类似,只要将float写成double,将f或F写成d或D就可以了。
C.布尔类型:
主要用来表示true/false值,大多数被应用在流程控制语句,例如循环语句或if语句等中。
(补充:在定义全局变量时,如果没有指定,整数类型和浮点类型的默认初始值为0,布尔类型为false。)
(2)引用类型
所有被称为“类”的都是引用类型,主要包括类、接口、数组和委托。
下面是使用引用类型变量的一个应用程序:
class Program
{
class C //创建一个类C
{
public int Value =0; //声明一个公共int类型的变量value
}
static void Main(string[]args)
{
int v1 = 0; //声明一个公共int类型的变量v1,并初始化为0
int v2 = v1; //声明一个公共int类型的变量v2,并将V1赋值给v2
v2 = 927; //重新将变量v2赋值为927
C r1=new C(); //使用new关键字创建引用对象
C r2=r1 ; //使r1等于r2
r2.Value=112; //设置变量r2的value值
Console.WriteLine("values:{0},{1}",v1,v2); //输出变量v1和v2
Console.WriteLine("Refs:{0},{1}",r1.Value ,r2.Value ); //输出引用类型对象的value值
Console .ReadLine ();
}
运行结果为:
二、常量
常量就是固定不变的量,而且常量的值在编译时就已经确定了。在C#中,使用关键字const来创建常量,并且在创建常量时必须设置它的初始值,同时,一经设置,不允许修改。
例如:
const doublePI=3.1415926; //正确的声明方式
const int MyInt; //错误:定义常量时没有初始化
此博为大家详细的介绍了变量和常量,对于变量的两种类型:值类型和引用类型,我会在此后的博客中通过一个示例,帮助大家更好的理解值类型和引用类型的区别,敬请期待~