if、switch、for、while Dear 丶 2022-09-10 13:21 198阅读 0赞 # if控制语句、switch控制语句、for循环语句、while循环语句 # ### 文章目录 ### * if控制语句、switch控制语句、for循环语句、while循环语句 * * * 流程控制, 选择结构 * * if条件判断 * * 单选结构 * 分支结构 * 多条件分支 * switch选择结构 * 循环结构 * * while循环 * do-while循环 * for循环 * 双重循环 * break语句 * continue ### 流程控制, 选择结构 ### 程序的运行流程有三种(三种结构) 1. 顺序结构 2. 选择结构 * if * switch 3. 循环结构 #### if条件判断 #### ##### 单选结构 ##### 语法: if(条件)\{ 语句; \} 执行逻辑:如果条件为真,则语句执行,否则,程序继续执行if之外的语句。 var score = prompt('请输入js成绩'); if (score > 98) { console.log("奖励手机一部!"); } ##### 分支结构 ##### 语法: if(条件) \{ 语句一; \}else \{ 语句二; \} 执行逻辑:如果条件成立,执行语句一,如果条件不成立执行语句二 分支语句对成立和不成立都进行了语句处理 二选其一结构 //如果js成绩高于98分,则奖励一台iPhone,否则,奖励写代码; var js = 100; if (js > 98) { console.log("奖励Iphone"); } else { console.log("编写代码"); } ##### 多条件分支 ##### 语法: if(条件) \{ 语句一; \}else if(条件)\{ 语句二; \}else if(条件)\{ //可多条 语句三; \} … else \{ //可省略 语句n \} 执行逻辑:从上到下,依次判断,如果成立,则执行对应的语句,之后立刻跳出多条分支结构 多选其一结构 //成绩不低于90为优秀,不低于82为良好,不低于60为及格,否则为不及格。 var score = 95; if (score >= 90) { console.log("优秀"); } else if (score >= 80) { console.log("良好"); } else if (score >= 60) { console.log("及格"); } else { console.log("差"); } #### switch选择结构 #### 语法: \-switch(表达式) \{ case 值: 语句; break; //可省略 case 值: 语句二; break; … default: 语句n break; \} 如果没有写break,程序跳转到条件成立的选项后,执行对应的语句,之后继续向下执行,不再判断是否相同,直至遇见break跳出或执行完。 default可以放在case之前,但是必须使用break语句跳出选择。 ### 循环结构 ### 常见的循环有三种类型:while、do-while、for #### while循环 #### 语法: while(条件表达式)\{ 循环操作 \} 执行逻辑:条件表达式为真,循环操作执行,为假,循环操作不执行 特点:先判断,再执行 循环的分析思路:根据问题拆分出,循环条件 = 初始值 + 条件,循环操作 = 循环体 + 迭代 //输出50份试卷 var i = 1; while (1 <= 50){ console.log("打印第" + i + "份试卷"); i++ } #### do-while循环 #### 语法: do\{ //循环体 \}while(条件表达式); 执行逻辑:循环体执行一次后,再进行判断,如果条件为真,则循环继续,否则循环结束。 特点:先执行,再判断。 //先进行编写程序,再判断是否合格 var answer = ''; do { console("上机编写程序"); answer = prompt("合格了吗(y/n)"); }while(answer == 'n');//程序进行循环的条件 #### for循环 #### for(初始值; 条件判断; 更新循环变量)\{ //循环体 \} 执行逻辑: bug调式查看 特点:先判断,再执行, 大多数使用次数明确的循环 //输出一百句好好学习 for(var i = 0;i < 100;i++){ console.log("好好学习"); } //死循环 for(;;){ //循环体 } //问题:循环输入某同学一阶段考试的5门课成绩,并计算平均分 var sum = 0; //循环录入成绩,并累加 for (var i = 0; i < 5; i++) { var score = parseInt(prompt("请输入第" + (i + 1) + "门课成绩")); //累加 sum += score; } var avg = sum / 5; console.log("avg = " + avg); #### 双重循环 #### 一个循环结构中包含另一个完整的循环结构 内循环一次,外循环一次 //打印矩形 //控制行 for (var i = 0; i < 5; i++) { //控制列 for (var j = 0; j < 5; j++) { document.write("* "); } document.write("<br/>"); } #### break语句 #### 在switch中break的含义为:跳出选择结构 在循环中break的含义为:跳出循环结构 在循环中的影响: 1、循环结束,循环次数可能没有完成 2、break之后的语句没有机会执行 总结: break影响循环次数,可能循环没有执行完毕 break后的语句的执行,大多情况break和选择语句配合使用 #### continue #### 描述: continue:跳过循环体中剩余的语句而执行下一次循环 只能用在循环语句中 循环继续,不影响循环的执行次数,但影响continue之后的语句是否被执行 如果条件成立,则continue之后的语句不会被执行 //问题:求1-10之间的偶数之和,使用continue语句 var sum = 0; for (var i = 1; i <= 10; i++) { //不是偶数,循环继续 if(i % 2 != 0){ continue; } sum += i; //累加 } console.log("sum = " + sum);
还没有评论,来说两句吧...