博文适用于编程小白,基于《叩响C#之门》,传送门:链接:https://pan.baidu.com/s/1y2UegjDUJz-xrOQu3qKMjQ 密码:4v2n
《叩响C#之门》通俗易懂,又不失专业性,比传统的《C#入门经典》《C#从入门到精通》这类书好的多,是一本不可多得的好教材。


C#学习笔记(一)——第一章:初识编程
C#学习笔记(二)——第二章:变量
C#学习笔记(三)——一、二章内容练习及一些杂项
C#学习笔记(四)——第三章:运算符和表达式
C#学习笔记(五)——第四章:流程控制
C#学习笔记(六)——第五章:枚举、结构体和数组(还没写好)
C#学习笔记(七)——第六章:函数
C#学习笔记(八)——第七章:面向对象编程(一)




C#变量类型总览

C#共有15个预定义类型,其中13个值类型,2个引用类型

整型

C#学习笔记(二)——第二章:变量

C#学习笔记(二)——第二章:变量

浮点型

C#学习笔记(二)——第二章:变量
或(参考文献中少了float和double)
C#学习笔记(二)——第二章:变量

字符型

C#学习笔记(二)——第二章:变量

字符串和对象型(引用类型)

C#学习笔记(二)——第二章:变量

布尔型

C#学习笔记(二)——第二章:变量

整型

C#学习笔记(二)——第二章:变量

C#学习笔记(二)——第二章:变量

int

我着重说明一个重点和难点——不同类型的取值范围的问题。
这个问题既简单又重要,但是很多同学在理解起来通常有困难。希望我的阐述能帮助理解。
先看下书上是怎么解释的。
C#学习笔记(二)——第二章:变量
C#学习笔记(二)——第二章:变量

C#学习笔记(二)——第二章:变量
其实,为什么会有反码和补码的概念,涉及到更深层次的原因——进制,进位和数在计算机中的表达。这里对这部分不做阐述,需要弄明白的同学自行google。
我们现在只要达成共识:
①数字在计算机中的表达有三种方式——原码,反码,补码
②对于有正负的数据类型,首位是符号位。没有正负的数据类型,没有符号位。
③正数的原码,反码,补码都是其自身,负数的原码是其自身,反码是除去符号位外,其余位取反,补码是在反码的基础上+1。
拿书中的int型的例子,int有4个Byte,也就是32个bit,int自身是有正负的类型。
所以,int的第一位是符号位,那么剩下的31位就可以用来表示数值大小。
先说表示正数的情况,这个好理解,31个bit能够表示的最小数全0,也就是0,最大的数应该是全1,也就是2311=2147483647
再说负数,补码负数的最小值(绝对值最小)应该是1111111…111(32个1,第一位是符号位),最大值(绝对值最大)应该是100000…000(31个0)。
很多人犯迷糊的根源在于对数值为全是0的理解。看下面这个图就明白了。

C#学习笔记(二)——第二章:变量
再深层次的愿意,请同学们自行google了。

short

原理同int,只不过short型占用2个Byte,所以表达范围是215~2151

long

原理同int,只不过longt型占用8个Byte,所以表达范围是263~2631

sbyte

原理同int,只不过sbyte型占用1个Byte,所以表达范围是27~271

uint,ulong,ushort,byte

这些都是无符号整型,原理简单
uint02321
ushort02161
ulong02641
byte0281

浮点型

C#学习笔记(二)——第二章:变量

float

float占用4Byte,存储结构如下
C#学习笔记(二)——第二章:变量

另外声明float型变量的时候,需要在数值后面加f或F
C#学习笔记(二)——第二章:变量

double

原理同float,只不过范围有所不同,另外数据默认是doubule类型的,所以不需在数值后加任何符号。

decimal

原理同float,只不过范围有所不同,另外有着几种数据类型中最高的精度,财务是典型应用(说专用的我真的是,呵呵)。

字符和字符串

注意C#中,字符是用单引号表示的,字符串是用双引号表示的。
C#学习笔记(二)——第二章:变量
声明方法:
C#学习笔记(二)——第二章:变量
C#学习笔记(二)——第二章:变量

参考文献

https://www.cnblogs.com/liangxiaofeng/p/5620684.html
https://www.cnblogs.com/flowerslip/p/5933833.html

相关文章: