一、for循环:最鲜明的特点是将一段代码循环执行指定的次数, 使用 for 循环时,如果我们知道需要循环执行的次数,我们在for循环中最常用到的变量名是'i'。
// for循环的语法:结合下面流程图理解(每次循环的执行顺序为:1-2-4-3, 1-2-4-3, ...)
for (1初始化表达式;2条件表达式;3更新表达式)
{
4循环体函数
}
// 语法拆解
for (变量=初始值;变量<=最终值;变量=变量+步进值)
{
需要执行的代码块
}
for循环的流程图:
例如:
//定义一个循环程序,这个程序中 i 的起始值为 0。每执行一次循环,i 的值就会累加 1,循环一直重复执行,直到 i 等于 10 停止
for (var i=0; i<10; i++){
console.log( i )
}
for循环的处理过程:
1.在for循环的第一个表达式中对循环变量'i'进行初始化,
2.在第二个表达式中判断循环变量'i'的值是否符合循环条件,
3.如果不符合条件,则循环结束。
4.如果符合条件,首先去执行for循环中的代码块,然后在第三个表达式中对循环变量进行更新。继续下一轮循环。
二,for循环有两种方法:嵌套使用;并列使用
1, 嵌套使用:当我们遇到相对复杂的数据时,使用for循环的嵌套使数据拆分到最小单位并访问,若只或去满足条件的数据,那么在for循环里需要嵌套if语句。
并列使用:即用两个或多个for循环,每个for之间是独立使用的。
分析具体题目中for循环的并列使用。
2,举例说明:
for循环的嵌套使用:
已知存储10名学生的各科成绩的数组all_scores
all_scores = [[131,143,144],
[131,135,144],
[127,139,142],
[123,148,136],
[126,135,140],
[129,133,138],
[116,143,140],
[114,142,139],
[115,139,135],
[116,142,129]];
遍历all_scores获取到每个学生的各科成绩all_scores[i];遍历all_scores[i]获取到每个学生的每科成绩;通过比较所有学生的所有成绩获取成绩的最高值,赋值给变量highest_score。
解答过程:
var all_scores = [[131,143,144],
[131,135,144],
[127,139,142],
[123,148,136],
[126,135,140],
[129,133,138],
[116,143,140],
[114,142,139],
[115,139,135],
[116,142,129]];
var highest_score = all_scores[0][0];
//使用for循环求这10名学生中所有科目的最高分
for(var i=0;i<all_scores.length;i++)//遍历all_scores获取到每个学生的各科成绩
{
for(var j=0;j<all_scores[i].length;j++)//遍历all_scores[i]获取到每个学生的每科成绩
{
if(highest_score<all_scores[i][j])//比较所有学生的所有成绩获取成绩的最高值,
赋值给变量highest_ score
{
highest_score=all_scores[i][j];
}
}
}
//打印这10名学生所有科目的最高分
console.log('这10名学生所有的最高分为:'+highest_score);
for循环的并列使用:
已知学生成绩为哈希表stu_scores(键->学生姓名;值->学生成绩)
stu_scores = {'杨璐':131,
'王雪':131,
'韩林霖':127,
'沙龙逸':123,
'李鉴学':126,
'韩雨萌':129,
'刘帅':116,
'康惠雯':114,
'刘钰婷':115};
根据学生的姓名数组stu_names,将学生成绩全部取出存入到scores数组中。
stu_names = ['杨璐',
'王雪',
'韩林霖',
'沙龙逸',
'李鉴学',
'韩雨萌',
'刘帅',
'康惠雯',
'刘钰婷'];
//给数组scores添加数据
scores.push('xxx');
遍历成绩数组scores,获取最高成绩,赋值给变量highest_score。
解题代码过程:
var stu_scores = {'杨璐':131,
'王雪':131,
'韩林霖':127,
'沙龙逸':123,
'李鉴学':126,
'韩雨萌':129,
'刘帅':116,
'康惠雯':114,
'刘钰婷':115};
var stu_names = ['杨璐',
'王雪',
'韩林霖',
'沙龙逸',
'李鉴学',
'韩雨萌',
'刘帅',
'康惠雯',
'刘钰婷'];
var scores = [];
//使用for循环取出成绩数组,打印所有成绩,找到做高分
//获取所有学生的分数(只包含学生分数不包含学生姓名)存到scores中
for(var i=0;i<stu_names.length;i++)
{
scores.push(stu_scores[stu_names[i]])
}
var highest_score = scores[0];
//使用for循环找出学生成绩的最高分
for(var j=0;j<scores.length;j++)
{
if(highest_score<scores[i])
{
highest_score=scores;
}
}
//两个for循环都在各自代码块里发挥作用,互不影响
console.log('学生成绩的最高分:'+highest_score);
5,小结:
要熟练使用for循环
注意区别使用for循环的嵌套使用和并列使用。
for循环的嵌套使用时,多个for循环之间是相互作用的;而for循环的并列使用时,多个for循环之间是独立作用的。
分享到:
相关推荐
Robot Framework 教程 - 使用For循环 在自动化测试过程中,使用For循环来对某个动作进行重复操作是很普遍的行为。在Robot Framework 中,各种测试库中均提供了多种方式的For循环结构,在其中覆盖了大部分类型的循环...
在实际应用中,会遇到保存多个文件或者图像的操作,利用for循环可以实现基本要求: for i in range(50): plt.savefig(%d.jpg%(i+1)) 就解决了,出去50组图片。 和print格式化输出有异曲同工之妙: print (she is ...
在网上看了一些for循环的效率问题,发现基本上都是一些理论的东西,且大多都是Copy来的,前后文自相矛盾。自己做了一个例子,来看看他们的效率 1.最慢 private long getTime1() { long time = 0; int count = 0;...
多重For循环 优化
JavaScript之for循环语句(源代码)JavaScript之for循环语句(源代码)JavaScript之for循环语句(源代码)JavaScript之for循环语句(源代码)JavaScript之for循环语句(源代码)JavaScript之for循环语句(源代码)JavaScript之...
增强的for循环是在传统的for循环中增加的强大的迭代功能的循环,是在jdk1.5之后提出来的。下面这篇文章主要给大家介绍了关于Java中增强for循环的实现原理和坑的相关资料,需要的朋友可以参考下
for循环遍历数组 利用for循环把遍历数组中的元素依次获取出来 数组笔记及基本知识点.pdf 利用for循环把遍历数组中的元素依次获取出来 数组笔记及基本知识点.pdf 利用for循环把遍历数组中的元素依次获取出来 数组笔记...
主要介绍了Windows bat脚本之for循环用法详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
里面有各种for循环的使用例子,适合c编程新手入学
for循环嵌套语法格式: for 取值 in 序列或迭代对象: for 取值 in 序列或迭代对象: 语句块 注:for语句可以嵌套任意类型的循环语句
更熟悉for循环练习,体会for循环练习,适合新手在学习中提升
python for循环练习
java打印五角星for循环,for循环各种运用,镶嵌if语句,帮助大家更好的学习。
[第2讲]ST语言基本操作(For循环与While循环)-其他语言编程flv,[第2讲]ST语言基本操作(For循环与While循环)-其他语言编程。查看更多
30道java练习题,包括for循环练习题,do...while练习题,switch...case练习题等...
用 for 循环产生 4 行 100 列二维数组,数组成员如下: 1,2,3………100 100,99,98………..1 6,7,8………….105 105,104,103………6 从这个数组中提取出 2 行 50 列的二维数组,成员如下: 50,49,48……...
java for循环与增强for循环.docx
While循环和for循环在C语言里面经常使用,需要讲的地方不多,可以一句话带过。加上while循环和for循环是可以相互完全替代的,所以这里主要讲一下while循环()括号里面可能是何种实现方法,从API的角度来看待while...
利用flash演示for循环执行过程,很实用哦
C# for循环中 某次执行出错后 继续进行下一次循环