-
一、变量的基本概念: 变量本事是用来存储特定类型的数据,可以随时改变变量中所存储的数据值。变量具有名称、类型和值。变量的值是可以发生变化的,使用变量之前必须先声明变量,即指定变量的类型和名称。 1、变量类型: 变量类型根据其定义分为:一种是值类型,另一种是引用类型。 二、变量类型; 1、值类型特征: <!--[if !supportLists]--> ① <!--[endif]-->值类型变量都存储在堆栈中; <!--[if !supportLists]--> ② <!--[endif]-->访问值类型变量时,一般都是直接访问其实例; <!--[if !supportLists]--> ③ <!--[endif]-->每个值类型变量都有自己的数据副本,因此对一个值类型变量操作不会影响其他变量; <!--[if !supportLists]--> ④ <!--[endif]-->复制值类型变量时,复制的是变量的值,而不是变量的地址; <!--[if !supportLists]--> ⑤ <!--[endif]-->值类型变量不能为NULL,必须具有一个确定的值 值类型是从System.ValueType 类继承而来的类型。 2、整数类型:整数类型代表没有小数点的整数数值 类型 说明 范围 Sbyte 8位有符号整数 取值范围在128~127之间 Short 16位有符号整数 取值范围在-32,768~32,767之间 Int 32位有符号整数 取值范围在-2,147,483,648~ 2,147,483,647之间 Long 64位有符号整数 取值范围在-9,223,372,036,854,775,808~ 9,223,372,036,854,775,807之间 Byte 8位无符号整数 取值范围在0~255之间 Ushort 16位无符号整数 取值范围在0~65,535之间 Uint 32位无符号整数 取值范围在 0 ~ 4,294,967,295之间 Ulong 64位无符号整数 取值范围在0 ~ 18,446,744,073,709,551,615之间 创建一个控制台应用程序,声明变量int类型的变量ls并初始化为927,一个为byte类型的变量shj并初始化为255,输出 1 statci void Main (string [] arge) 2 { 3 int ls=927;//声明一个int类型的变量ls 4 byte shj =255;//声明一个byte类型的变量shj 5 Console.WriteLine("ls={0},shj={1}"+ls,shj);//输出 6 Console.ReadLine(); 7 } 如果将byte类型的变量shj赋值266出现错误,byte值范围0~255 3、浮点类型:浮点类型变量主要用于处理含有小数的数值数据,浮点型主要包含float和double。 它们的差别在于取值范围和精度 类型 说明 范围 float 精确到7位数 取值范围在 1.5x10^-45~ 3.4x10^38之间 double 精确到15~16位数 取值范围在 5.0x10^-324 ~ 1.7x10^308之间 如果不做任何设置,包含小数点的数值都被认为double类型,如果没有指明的情况下,这个数值是double类型。如果要将数值一float类型来处理,就要强制转换使用f或F将其指定为float类型 1 double MyDou=927d;//使用d强制转换为double 2 double mudou=112D;//使用D强制转换为double 将数值数值类型强制指定为double类型,则需要使用D或d进行设置 1 double MyDou=927d;//使用d强制转换为double 2 double mudou=112D;//使用D强制转换为double <!--[if !supportLists]-->3、<!--[endif]-->布尔型:布尔类型主要用来表示true/false值,一个布尔类型的变量,其值只能是true或者false,不能将其他的值指定给布尔类型变量,布尔类型变量不能与其他类型进行转换。 将927赋值给布尔类型变量x 1 Bool x=927; 这样赋值是错误的,常量值927无法转换为bool。 三、引用类型: 1、 引用类型是构建C#应用程序的主要对象类型数据,预先定义的对象类型以new创建对象实例,并存储在堆栈中。 2、引用类型特征: <!--[if !supportLists]--> ① <!--[endif]-->必须在托管堆中为引用类型变量分配内存; <!--[if !supportLists]--> ② <!--[endif]-->必须需new关键字来创建引用类型变量; <!--[if !supportLists]--> ③ <!--[endif]-->在托管堆中分配的每个对象都有与之相关联的附加成员,这些成员必须被初始化; <!--[if !supportLists]--> ④ <!--[endif]-->引用类型变量室友垃圾回收机制来管理的; ⑤ 多个引用变量可以引用同一对象,这种情况下,对一个变量的操作会影响另一个变量所引用的同一对象 ⑥ 引用类型被赋值前的值都是NULL 所有被称为“类”的都是引用类型,主要包括类、接口、数组和委托。 创建一个控制台应用程序,在其中创建一个C类,在该类中建立一个字段Value,并初始化为0.然后通过其他位置通过new创建该类的引用类型变量,最后输出。 1 class Program 2 { 3 class C //创建一个C类 4 { 5 public int Value = 0;//声明一个公共int类型的变量Value 6 } 7 static void Main(string[] args) 8 { 9 int v1 = 0;//声明一个int类型的变量v1,并初始化为0 10 int v2 = 1;//声明一个int类型的变量v2,并将v1赋值个v2 11 v2 = 927;//重新将变量V2赋值为927 12 C r1 = new C();//使用new关键字创建引用对象 13 C r2 = r1;//使r1=r2 14 r2.Value = 112;//设置r2的value值 15 Console.WriteLine("Values;{0},{1}", v1, v2);//设置输出v1和v2的变量 16 Console.WriteLine("refs;{0},{1}", r1.Value, r2.Value);//输出引用类型对象的value值 17 Console.ReadLine(); 18 } 19 }
转载请注明原文网址:http://www.helimiaopu.com/cxkf/cxkf/10.html
|