美文网首页Unity基础入门分享优质编程入门教程
凉鞋的笔记 编程入门与框架设计 (三) 循环的力量

凉鞋的笔记 编程入门与框架设计 (三) 循环的力量

作者: 凉鞋的笔记 | 来源:发表于2017-11-29 22:56 被阅读22次

    我们来练习一下上堂课的代码:

    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

    image

    output/凉鞋的笔记

    相关文章

      网友评论

        本文标题:凉鞋的笔记 编程入门与框架设计 (三) 循环的力量

        本文链接:https://www.haomeiwen.com/subject/lzhmbxtx.html