变量
变量是计算机内存中用来放数据的东西。根据存放数据的不同,变量分为不同的类型。不同类型的变量具有不同的处理方式。
使用一个变量要先声明再赋值。没有赋值的变量不能使用。
变量的声明
变量声明的语法为:
1、<type><name>
eg: int a;
a=10;
2、<type><name>=value
eg:int a=10;
3、 一次性声明多个变量时,用“,”分隔
如 int a, b ,c;
或 int a=1,b=2,c=3;
变量的命名规则:
1、必须以“字母”、“_”、或“@”开头,不要以数字开头。
2、后面可以跟任意“字母”、“数字”“下划线”
注意:a变量名不要与C#系统中的关键字重复
b大小写敏感。数据类型
数据分为两种类型:值类型和引用类型。
值类型和引用类型的区别
C#里面把数据类型分为两大类,分别为值类型和引用类型,值类型包括基本数据类型(int ,double等),结构和枚举,,,引用类型包括接口,数组,Object类型,类,委托,字符串,null类型等,那这两大类有什么区别呢?
1.值类型:就是一个包含实际数据的量。即当定义一个值类型的变量时,C#会根据它所声明的类
型,以栈方式分配一块大小相适应的存储区域给这个变量,随后对这个变量的读或写操作就直
接在这块内存区域进行.
2.引用类型:一个引用类型的变量不存储它们所代表的实际数据,而是存储实际数据的引用。
引用类型分两步创建:首先在栈上创建一个引用变量,然后在堆上创建对象本身,再把这个
内存的句柄(也是内存的首地址)赋给引用变量。
总结:
1. 值类型的数据存储在内存的栈中;引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。
2. 值类型存取速度快,引用类型存取速度慢。
3. 值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用
4. 值类型继承自System.ValueType,引用类型继承自System.Object
5. 栈的内存分配是自动释放;而堆在.NET中会有GC(垃圾回收)来释放
值类型
1、整数类型C#支持9种整数类型,sbyte,byte,short,ushort,int,uint,long,ulong。
类型 | 含义 | 取值范围 |
---|---|---|
sbyte | 表示有符号的8位整数 | -128~127 |
byte | 表示无符号的8位整数 | 0~255 |
short | 表示有符号的16位整数 | -32768~32767 |
ushort | 表示无符号的16位整数 | 0~65535 |
int | 表示有符号的32位整数 | -2147483648~2147483647 |
uint | 表示无符号的32位整数 | 0~4294967295 |
long | 表示有符号的64位整数 | -9223372036854775808~9223372036854775807 |
ulong | 表示无符号的64位整数 | 0~18446744073709551615 |
2、浮点数类型
在我们的日常生活中不仅有整数 ,还存在小数,在C#中小数有2种数据类型来表示 (单精度)float 、(双精度)double。他们的差别在于取值范围与精度不同,计算机对浮点数的运算速度大大低于对整数的运算速度,对double型的运算速度低于对float的运算速度,如果在程序中大量的使用双精度类浮点数,将会占用更多的内存单元,而计算机的处理任务也会更加繁重,但是用double类型的结果相对于float会更加精确,因此在对精度 要求不是很高的情况下我们可以采用float 类型。
3、布尔类型
只有true和false两个值。关键字为bool。计算机中占四个字节(4B)。
4、字符类型
==================================
待续