博文适用于编程小白,基于《叩响C#之门》,传送门:链接:https://pan.baidu.com/s/1y2UegjDUJz-xrOQu3qKMjQ 密码:4v2n
《叩响C#之门》通俗易懂,又不失专业性,比传统的《C#入门经典》《C#从入门到精通》这类书好的多,是一本不可多得的好教材。
C#变量类型总览
C#共有15个预定义类型,其中13个值类型,2个引用类型
整型
或
浮点型
或(参考文献中少了float和double)
字符型
字符串和对象型(引用类型)
布尔型
整型
或
int
我着重说明一个重点和难点——不同类型的取值范围的问题。
这个问题既简单又重要,但是很多同学在理解起来通常有困难。希望我的阐述能帮助理解。
先看下书上是怎么解释的。
其实,为什么会有反码和补码的概念,涉及到更深层次的原因——进制,进位和数在计算机中的表达。这里对这部分不做阐述,需要弄明白的同学自行google。
我们现在只要达成共识:
①数字在计算机中的表达有三种方式——原码,反码,补码;
②对于有正负的数据类型,首位是符号位。没有正负的数据类型,没有符号位。
③正数的原码,反码,补码都是其自身,负数的原码是其自身,反码是除去符号位外,其余位取反,补码是在反码的基础上+1。
拿书中的int型的例子,int有4个Byte,也就是32个bit,int自身是有正负的类型。
所以,int的第一位是符号位,那么剩下的31位就可以用来表示数值大小。
先说表示正数的情况,这个好理解,31个bit能够表示的最小数全0,也就是0,最大的数应该是全1,也就是
再说负数,补码负数的最小值(绝对值最小)应该是1111111…111(32个1,第一位是符号位),最大值(绝对值最大)应该是100000…000(31个0)。
很多人犯迷糊的根源在于对数值为全是0的理解。看下面这个图就明白了。
再深层次的愿意,请同学们自行google了。
short
原理同int,只不过short型占用2个Byte,所以表达范围是 ~
long
原理同int,只不过longt型占用8个Byte,所以表达范围是 ~
sbyte
原理同int,只不过sbyte型占用1个Byte,所以表达范围是 ~
uint,ulong,ushort,byte
这些都是无符号整型,原理简单
uint:
ushort:
ulong:
byte:
浮点型
float
float占用4Byte,存储结构如下
另外声明float型变量的时候,需要在数值后面加f或F。
double
原理同float,只不过范围有所不同,另外数据默认是doubule类型的,所以不需在数值后加任何符号。
decimal
原理同float,只不过范围有所不同,另外有着几种数据类型中最高的精度,财务是典型应用(说专用的我真的是,呵呵)。
字符和字符串
注意C#中,字符是用单引号表示的,字符串是用双引号表示的。
声明方法:
参考文献
https://www.cnblogs.com/liangxiaofeng/p/5620684.html
https://www.cnblogs.com/flowerslip/p/5933833.html