首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【小雨学编程之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)。

屏幕前的你学会了吗!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210321A0A0EX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com