JavaScript 分支结构 和 循环结构
分支结构
分支结构:程序根据不同的条件执行不同的操作。
if 语句
当条件满足(true)时,则执行某个操作;不满足(false)时,不执行。
案例:
var price = parseInt(prompt("请输入单价"));
var count = parseInt(prompt("请输入数量"));
var total = price * count;
if (total>=500){
total*=0.8;
}
console.log("用户消费总额:"+total);
假设我们输入单价100,数量5
假设我们输入单价10,数量30
注意:如果 if 语句的大括号中只有一条语句,则大括号可以省略不写。不建议省略。
if ··· else 语句
当条件满足(true)时,则执行某个操作;不满足(false)时,执行另一操作。
案例:
var price = parseInt(prompt("请输入单价"));
var count = parseInt(prompt("请输入数量"));
var total = price * count;
if (total>=500){
total*=0.8;
}else {
total*=0.9;
}
console.log("用户消费总额:"+total);
else if 语句
根据不同的条件,执行不同的操作。
案例:
// 请用户输入一个成绩,给成绩划分等级
var score = prompt("请输入您的成绩");
if (score>90){
console.log("A");
} else if (score>=80){
console.log("B");
}else if (score>=60){
console.log("C");
}else if (score<60){
console.log("D");
}
语法 条件 ? 表达式1 : 表达式2
修改上个案例(结果相同)
var score = prompt("请输入您的成绩");
score>=90?console.log("A"):(score>=80?console.log("B"):(score>=60?console.log("C"):console.log("D")));
switch case 语句
根据表达式的不同取值,执行不同的操作。
语法
流程图
案例
根据用户的按键,跳转到不同的操作
请按键
判断按键的值
1:提示正在查询话费
2:提示请输入新密码
3:提示选择新套餐
0:提示欢迎再来// 否则:提示按键无效
// 根据用户的按键,跳转到不同的操作
// 请按键
// 判断按键的值
// 1:提示正在查询话费
// 2:提示请输入新密码
// 3:提示选择新套餐
// 0:提示欢迎再来
// 否则:提示按键无效
var input = parseInt(prompt("请输入按键"));
switch (input){
case 1:
alert("正在查询话费....");
break;
case 2:
alert("请输入新密码");
break;
case 3:
alert("选择新套餐");
break;
case 0:
alert("欢迎再来");
break;
default:
alert("无效按键!")
}
切记 break 关键字不能忘记!
循环结构
流程控制
程序 = 数据 + 算法
程序中的三大结构:顺序、分支、循环
任何负责的程序算法都可以通过 “顺序”、“分支”、“循环” 三种基本程序逻辑组合实现。
循环,就是让程序重复的执行同一段代码。
循环的三要素:
- 循环条件:控制循环开始和推出的判断条件。
- 循环变量:循环条件中,用作比较和判断的变量。
- 循环体:程序要重复执行的代码块。
while 循环
案例代码
// 买十个游戏币,游戏币的个数大于等于3便可以玩一局游戏。
// 当游戏币个数少于3,则退出游戏。
var coins = 10;
while (coins>=3){
console.log("玩了一局");
coins-=3;
console.log("剩余 "+ coins +" 个游戏币");
}
console.log("玩不了了,回家吧!骚年!")
do...while 循环
代码案例
// 猜数字游戏 数字猜大小
// 随机生成一个0~9的数字
var r = parseInt(Math.random() * 10); // [0,10)
// 反复执行
do {
// 请用户随机才一个数字
var n =parseInt(prompt("你猜:"));
// 如果用户数字猜大了,就提示大了,再次猜测
// 如果用户数字猜小了,就提示小了,再次猜测
// 直到猜测正确,结束游戏
if (n>r){
alert("大了");
} else if(n<r){
alert("小了");
}else {
alert("对了");
}
}while (n!=r) // 条件
for 循环
语法
案例代码
var coins = 10;
for (var coins = 10;coins>=3;coins-=3){
console.log("当前 "+ coins +" 个游戏币");
console.log("玩了一局");
}
console.log("玩不了了,回家吧!骚年!")
// 输出0~20中所有的偶数
for (var i =1;i<=20;i++){
if (i%2==0){
console.log(i)
}
}
for 循环的简写(不建议使用)
写法一:
// 计算0~100的累加和
for (var i=1,sum = 0;i<=100;i++){
sum+=i;
}
console.log(sum);
写法二:
// 计算0~100的累加和
var i=1,sum = 0;
for (;i<=100;i++){
sum+=i;
}
console.log(sum);
如果第一部分省略了,也一定要写分号!
写法三:
// 计算0~100的累加和
for (var i=1,sum = 0;i<=100;sum+=i,i++){
}
console.log(sum);
大括号不能省,不然会将最后一句算进循环体。如果要省去大括号,if 的括号后面加个分号。
continue 和 break 的使用
continue 和 break 常常与条件语句一起使用。
- continue 只用于循环结构中,用于跳过本次循环,继续执行下一轮。
- break 可用于分支结构和循环结构,在循环结构中使用,用于终止循环,不再执行下一轮。