第3章、数据类型与变量
【知识要点】
(1)了解数据类型
(2)变量、常量及命名规范
【问题提出】
翻开书店琳琅满目的编程书籍,都少不了讲数据类型和变量,是不是看得头都大了,还是搞不太明白,究竟如何认识数据类型和变量呢?
【在线指导】
很多人(有一定编程基础者)都似乎完全明白了数据类型和变量,但是你试试让他(她)告诉你这个菜鸟,还真不是有几个人能够讲得明白,照本宣科谁都会!
1、数据类型
在讲数据类型之前,我们看看日常生活中的东东,想想盛水的容器有哪些?一池水、一缸水、一锅水、一杯水……;那么再看看盛人的有哪些?一个学校、一座房、一间房、一列火车、一辆汽车、一辆三轮车……;当然还有好多好多。
想一想为什么都是盛水的容器,干嘛还要分为一锅水、一杯水,你自然会说:做饭一家人吃当然会盛一锅水,而自己喝水用一杯就够了。
一点不错,C#语言中也是如此,C#有许多数据类型,大的方面可分为值类型和引用类型而值类型中又分为整型、浮点类型、字符串类型……,这个后面我们有详细描述,仅仅整型又分为以下若干种,我没有期望你马上或者现在就能全部理解,有个印象就行了。
整 型
名称 |
CTS 类 型 |
说 明 |
范 围 |
sbyte |
System.SByte |
8位有符号的整数 |
–128 到 127 |
short |
System.Int16 |
16位有符号的整数 |
–32 768 到 32 767 |
int |
System.Int32 |
32位有符号的整数 |
–2 147 483 648 到 2 147 483 647 |
long |
System.Int64 |
64位有符号的整数 |
–9223372036854775808到9223372036854775807 |
byte |
System.Byte |
8位无符号的整数 |
0到255 |
ushort |
System.Uint16 |
16位无符号的整数 |
0到65535 |
uint |
System.Uint32 |
32位无符号的整数 |
0到4294967295 |
ulong |
System.Uint64 |
64位无符号的整数 |
0到18446744073709551615 |
之所以我在前面举了那么通俗的例子,就碰到好多初学编程的朋友问我,用一个整型不就可以了,干嘛分这么多啊,有了“一锅水、一杯水”的基础,是不是理解起来就简单多了。如果用来存储我们年龄(以喝水为例),是不是用byte(如果把它看作“杯”)就已经足够了,没有人能活过255岁!如果你用int(我们不妨把它看作“锅”)也还说得过去! 但是你若用ulong表示年龄是不是太夸张了,这就有点类似你准备用“池”当“杯”了。那就真的有点“杯具”了。
C#的数据类型有点类似我们日常生活中的“量词”,如“缸、锅、杯、座、间、列……”,至于用什么样的数据类型,这要看用来存储什么?存储人名就用字符类型,存储年龄就用整型,存储出生日期就用日期类型……,这和我们“存储”水用缸、杯没有什么两样。
2、变量
“菜鸟老师”和“菜鸟学生”一起去“西格玛集团·电脑超市”转了一圈,我们一起看中了一款新出品的1TB活动硬盘,尽管一模一样的东西,还是左挑右挑,付了一个不菲的价格,最终一人一个,菜鸟学生怕弄混了,就很聪明的在两个活动硬盘上分别贴上“菜鸟老师”和“菜鸟学生”。
无论如何价格不菲,我们买的活动硬盘都不能当水杯(切记!在C#中不同的数据类型也是不能直接互相赋值和存储的!),容量1TB的活动硬盘和容量500ml的水杯不是相同的东西!
这里的两个活动硬盘就是两个变量,如何区分呢?上面标记着“菜鸟老师”和“菜鸟学生”,它的存储范围是0-1024G个字节!byte的范围是0-255。
(1)声明变量语法:
byte nTeacherAge=35;
byte nStudentAge=21;
注: byte nTeacherAge=35; //声明同时赋值
与
byte nTeacherAge; //声明变量
nTeacherAge=35; //赋值
等价。
byte为数据类型,nTeacherAge和nStudentAge是变量名,并且把35和21分别赋值给nTeacherAge和nStudentAge。
(2)变量命名规则:
3、常量
如果前面变量你明白了,那么我们看一下什么是常量!
顾名思义,常量会在运行的过程中发生变化的量。常量则是其值在使用过程中不会发生变化的量,比如我们使用圆周率的值。声明和初始化变量的方法是在变量的前面加上关键字const。
(1)声明常量语法:
(2)变量命名规则同变量,不再赘述。
(3)常量特征。
如果你还有兴趣了解更多的数据类型,请阅读这里!(如果你第一次接触编程语言,建议看看即可,暂不必深究!)