我们来练习一下上堂课的代码:
string sayHiText = "Hello World!";
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
Console.WriteLine(sayHiText);
看下结果:
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
好,输出了十次Hello World!,在之前,我们学习了变量和Console.WriteLine。这件事情我们做起来就比较容易了。
下面我们有了新的任务,我们想要让程序输出1000次Hello World!。
做起来的话也是很容易的,只不过要花很多时间。
比如以上的Console.WriteLine部分的十行代码,复制粘贴100次。自己还要去数100个数,比较麻烦。通过现有的知识是没法很好地完成任务的。所以我们要去学新的概念。
首先我们要为新的概念做一些准备。
我们上堂课讲了,sayHiText是一个string类型,也就是一个字符串类型。 字符串我们理解为文本。但以后我们就不叫文本了,就叫字符串类型。
sayHiText变量存储了HelloWorld的值。
除了字符串类型,其实还有其他类型。
比如整数类型
int times = 1000;
这行代码跟我们上堂课学习的string变量声明的代码结构很相似。
string sayHiText = "Hello World!";
都是前边有个类型关键字描述后边变量的类型。
times变量是int类型。int的全称叫integer,是整型的意思。
所以它可以存储的值是整数值。就是1000,因为1000是整数。
我们看下代码的输出结果。
int times = 1000;
Console.WriteLine(times);
1000
OK,到这里。
我们为什么要学习整型呢?是用来进行一个计数的操作。我们需要从0计到1000,计的这个过程我们需要进行一个加法操作。每次都要进行一个加1的操作。
加法怎么去做呢?
我们先了解一下变量的特性,代码如下
int times = 0;
Console.WriteLine(times);
第一行代码,我们读出来的话叫变量的声明并赋值。
变量声明之后,在后边的代码中不用在前边加个int了。
times声明了之后,就代表在程序里边已经有了times这个变量了。我们可以重复地去利用这个变量了。
然后我们看下一个简单的加法操作
Console.WriteLine(1 + 1);
看下结果
2
1 + 1 的话肯定就是2了。
然后我们要用一个变量来存储1 + 1的内容。
跟刚才一样,我们就用sum来存储。
int sum = 1 + 1;
Console.WriteLine(sum);
把之前代码中的1 + 1提取成变量,用sum变量来代替。
看下结果:
2
输出的结果一样的。
再介绍一个稍微难一点的运算方式。
int sum = 0;
sum = sum + 1;
sum = sum + 1;
Console.WriteLine(sum);
初始值我们默认为0。
sum = sum + 1是什么意思呢?
在程序语言里,我们的计算都是从右向左开始进行的。
在第二行代码里等号右边的sum值是0,可以翻译为 sum = 0 + 1; 也就是sum = 1;
到第三行的时候等号右边的sum值已经是上一行sum的结果,也就是是1,可以把第三行翻译为翻译为 sum = 1 + 1;也就是sum = 2;
我们来输出下结果,验证一下:
2
好,结果就是2.
所以我们的加一操作都会sum = sum + 1;这样的方式去写。
在程序语言里,我们经常会进行加一的操作。所以程序语言的设计者为此做了一些简化,简化为sum++,代码如下:
int sum = 0;
sum++;
sum++;
Console.WriteLine(sum);
看下结果:
2
好,结果和上边的一样。
除了加法我们还要在学一个比较大小操作。
再学习比较大小之前我们要介绍一个新的类型。
这个类型叫布尔(bool)类型。
bool isEqual = false;
以上这种结构的代码我们已经学习了两次了,分别是int和string类型的声明并赋值。
bool 关键字描述了isEqual变量是bool类型。
bool是什么类型呢?
“真”的话在这里我们用true表示,”假”的话就用false,是用来做条件判断的。看看一个条件是否是成立的,成立的就是true,不成立的就是false。
我们看下输出的结果是什么样的。
bool isEqual = false;
Console.WriteLine(isEqual);
结果:
False
那么我们从哪里得到这个false和true的值呢?
bool isEqual = 1 == 1;
Console.WriteLine(isEqual);
两个等号代表判断两个1是否相等,如果相等则值为true,不相等则值为false。很明显1肯定等于1 ,所以isEqual的值最终是true。
1 == 1这种的叫它布尔表达式。
好我们看下结果:
True
OK,bool类型我们就学到这。
bool表达式中除了判断两个整数是否相等之外,还可以判断1是否大于2。
我们来看下代码:
bool isBigger = 1 > 2;
Console.WriteLine(isBigger);
很简单,我们看下结果。
False
OK,结果没问题。
准备阶段就到这里了,我们学习新的概念,叫做循环。
我们看下代码是什么样的。
for (int i = 0;i < 1000; i++)
{
Console.WriteLine("Hello World!");
}
功能是将Hello World执行1000次。
for (int i = 0;i < 1000; i++)这行是一个计数的过程。从0到999,总共1000次。
其中第一个分号前边的部分代码int i = 0只执行一次,对计数变量进行了初始化。第一个分号后边的代码是什么意思呢?i < 1000是一个表达式,就是我们刚才学习的bool表达式。每当执行完花括号内的代码时,都会执行一次i < 1000的代码。当这个条件为true是继续下一次循环。否则就跳出循环。
第二个分号后面的代码i++,是进行一个累加操作,它其实是i = i + 1。是当每次循环执行结束之后,会执行一次i++。
好,当第一次进入循环时,代码在计算机里是这样的。
for (int i = 0;0 < 1000; i++) i = 0
{
Console.WriteLine("Hello World!");
}
当i 是0时,i < 1000是true,所以满足条件可以执行循环代码。
执行完循环代码之后,进行累加操作,这时在计算机里代码是这样的。
for (int i = 0;0 < 1000; i++) i = 1
{
Console.WriteLine("Hello World!");
}
再之后进入下一次循环,还是先判断一次i < 1000,这时候i是1,1 < 1000是true。所以可以执行循环里的代码。
就这样一种反复,到第1000次执行完后,i的值是1000,再次进行判断i < 1000,这时候1000 < 1000就是false了。就会结束这次循环,接着执行循环结构后边的代码了。
以上四行代码已经是,本堂课的问题的解决方案了,问题是如何输出1000次Hello World。
我们看下结果
Hello World!
Hello World!
...
好本堂课的内容到这里为止,我们下堂课见。
本文为视频课程Unity 游戏框架搭建 __C#入门与框架设计:http://edu.manew.com/course/431)]的讲稿,如果觉得内容不错,可以购买课程来支持我的事业哦~,
第三课课程内容更新日志:
- 视频:时长从15:08优化到12:54。
- 视频:去掉了口头禅。
- 视频:逻辑不清晰的部分进行了重新配音。
相关链接:
我的框架地址:https://github.com/liangxiegame/QFramework
QFramework&游戏框架搭建QQ交流群: 623597263
C#入门课程交流群: 609819797
转载请注明地址:凉鞋的笔记http://liangxiegame.com/
微信公众号:liangxiegame
如果有帮助到您:
如果觉得本篇教程对您有帮助,不妨通过以下方式赞助笔者一下,鼓励笔者继续写出更多高质量的教程,也让更多的力量加入 QFramework 。
- 给 QFramework 一个 Star
- 给 Asset Store 上的 QFramework 并给个五星(需要先下载)
- 购买 gitchat 话题《Unity 游戏框架搭建:我所理解的框架》
- 价格: 6 元,会员免费
- 地址: http://gitbook.cn/gitchat/activity/5abc3f43bad4f418fb78ab77
- 购买 gitchat 话题《Unity 游戏框架搭建:资源管理神器 ResKit》
- 价格: 6 元,会员免费
- 地址: http://gitbook.cn/gitchat/activity/5b29df073104f252297a779c
- 购买同名的蛮牛视频课程录播课程:
- 价格
19.2 元29.8 元 - 地址: http://edu.manew.com/course/431
- 价格
- 购买同名电子书 :https://www.kancloud.cn/liangxiegame/unity_framework_design( 29.9 元,内容会在 2018 年 10 月份完结)