For循环详解
Posted my12-28
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了For循环详解相关的知识,希望对你有一定的参考价值。
for语句
学过c语言都对循环结构不陌生,尤其是for循环,他是C语言中最有特色的循环语句,使用最为灵活。
形式
结构:for(表达式1;表达式2;表达式3){循环体结构}
每部分的作用
表达式1:一般作为循环变量赋初始值;
表达式2:循环继续的条件,即能判断出真假的条件,一般为关系表达式;
表达式3:用于循环变量的的改变,可加=加法,可减法.
执行顺序
(1)求解表达式1(只执行一次);
(2) 求解表达式2,如果其值非0,执行表达式3;否则不进入,退出
(3) 执行循环体语句,并求解表达式3,然后转向表达式2;
(4)执行for语句的下一条语句.
说完了基本概念,来看看怎么用法
例子:求1-100之间所有整数的累加和?
```js
var sum=0;
for(var i=1;i<=100;i++){sum+=i;}
```
是不是觉得太简单,那我们来简化一下代码
根据for循环语句的执行顺序,可以把条件每次进入循环体之前都会先执行并且判断。可以改为
```js
for(var i=0,sum=0;i++<100;) sum+= i;//如果循环语句只有一条可以不写大括号
```
如果觉得不过瘾,其实还可以在简化
我们知道循环的第三部分,就是变量变化部分,他是在每次循环完成语句块后执行的内容,那么就可将sum写在第三部分
```js
for(var i=0,sum=0;i<=100;sum+=i,i++);
```
for 循环的变体的终极-省略三个表达式
```js
var i=1,sum =0;//相当于表达式1
for(;;)
if(i<=100){sum+=i;i++}//相当于表达式2
else break;//相当于表达式3
```
说完了for循环的便捷之处,就不难理解说for循环的强大之处,但是并不是所有的循环都用for循环,根据实际情况跟而定,选取最便捷的方法。比如看下面的需求:
例子:将自然数反序列输出 12345 ---> 54321
```js
var a = 12345;
var i; //末位
var t=0; //反序列
while(a>0){
i=parseInt(a%10);
console.log(i);
t = parseInt(t*10 + i);
a = parseInt (a/10);
}
console.log(t)
```
这里为什么选择while,而不是for了呢,因为这是5位数,要是几十位我们也不知道执行次数,一眼看不出来,执行次数,while比较合适
以上是关于For循环详解的主要内容,如果未能解决你的问题,请参考以下文章