[小雨学编程之C#] 19.8.1 详解for循环
作者:互联网
上节内容中我们学会了for的基本用法,我们知道了for的基础语法是
for(循环初值;判断条件;循环增量){
每次循环需要做的事情
}
其中
循环初值:指在执行第一次循环前要计算的表达式,也可以理解为在这个地方,声明并初始化一个局部变量为本次for循环的循环计数器
判断条件:每次执行新循环前要测试的表达式,如果表达式为true才能执行下一次循环
循环增量:每次循环完成时候,要计算的表达式,通常递增循环计数器
比如我们对之前的例子,输出0~9这十个数字进行断点调试:
第一次循环,先赋初值,然后直接判断执行条件
条件成立直接执行循环
循环完毕直接执行循环增量
循环增量执行完毕,直接判断循环条件
循环条件判断完毕,继续下一次循环,并且我们看到对应的变量i已经由0变成1了
那么我们会想,这个循环增量就是固定的i++吗?这时我们不要为我们经常做的练习模糊了我们对基础知识的掌握,我们知道循环增量其实是一个表达式,它的作用只是每次循环的完毕时候固定执行的一个表达式而已,比如我们输出一个20以内差为3的等差数列:
这时我们看到在循环增量表达式的部分就不再是i++而是i+=3啦
而且我们的循环初值和循环增量部分可以是多表达式的,并且多表达式间用逗号隔开,比如我们输出100以内的倍数为2的等比数列:
知道了循环初值和循环增量可以多条件,我们尝试输出一个这样的等腰三角形:
实现这个内容的时候我们先观察这个图形的特点:
这个三角形是9行的
从上到下每一行输出的*都是一个差为2的等差数列
从下向上,每少一行,多输出一个空格,也就是少一行输出一个空格,少两行输出两个空格,以此类推
那么有了思路我们就一个一个实现:
既然是一个9行的三角形,那么我们可以开始这样写:
接下来我们实现输出的*是差为2的等差数列,这里声明一个x代表输出的*的个数,然后再for循环中嵌套一个for循环用以输出*:
那么*都打出来了,我们就开始对这些*进行向中间移动,我们发现的规律是从下向上,每少一行多输出一个空格,那么就是从上向下,开始输出9个空格,然后每多一行少输出一个空格喽,我们声明一个n作为输出空格的个数,然后在for中在嵌套一个for循环用以输出空格:
看!代码如此简单!
至此我们知道了,for后面小括号中的循环初值,循环增量是可以有多条件的,那么有没有一种可能,对应的循环初值,判断条件和循环增量我空着不写呢?
比如,我们再来一个例子,我们输出30以内差为3的等差数列,但是由用户指定从哪里开始:
这时我们看,循环初值的位置是空的!
如果在这个例子的基础上我们添加,同时由用户指定,输出多少以内的等差数列呢:
看!判断条件的位置也空了!
那么如果此时我们再增加一个条件,由用户执行循环增量呢:
看!这时候,循环初值、判断条件、循环增量都空了!那么大家可以猜到这时候的for( ; ; )代表的就是无限循环,也就是我们之前的while(true)。
屏幕前的你学会了吗!
标签:输出,C#,初值,19.8,详解,表达式,增量,我们,循环 来源: https://blog.csdn.net/xiaoyurainrain/article/details/115183282