- 回顾
变量——非常重要。
var dd;
- 目标
•程序的三种结构
•多种类型if语句
•switch语句
- 内容
程序目的:让电脑帮我干活——模拟现实中的一些操作。
——每天吃饭
:我吃啥?——选择
:我吃啥?——选择
:我吃啥?——选择
:我吃啥?——选择
:我吃啥?——选择
:我吃啥?——选择
3.1程序的三种结构
顺序结构:
一帆风顺
选择/分支结构:![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9327b0bca3e4b26bbcbbc2b6de29ac37.png)
选择——现在这件事情,选择吃面条 选择吃米饭。
循环结构:
小学生抄作文 抄单词
一个代码书写次数太多了,所以可以使用循环让一段代码重复执行
3.2 if分支
3.2.1 if分支
if(条件——杂酱面吃不吃?——true/false——判断式——= != > && || !){
选择了这个分支之后做的事情:代码块;(1或者多个语句组成的代码)。如果只有一句话,{}可以省略
}
分支后的代码
3.2.2 if else 分支
if(条件){
}
<script>
/*
双分支
*/
var result=prompt("今天你吃不吃杂酱面?")
if(result=="吃"){
document.write("走到杂酱面<br/>")
document.write("点菜<br/>")
document.write("结账<br/>")
document.write("吃饭<br/>")
document.write("收拾走<br/>")
}else{//{在只有一句话的情况下可以省略但是不建议}
document.write("买个面包吃吃<br/>")
}
document.write("上课<br/>")
var aaa="123";
var bai=parseInt(aaa/100)
var shi=parseInt(aaa/10)%10
var ge=aaa%10
if(bai*bai*bai+shi*shi*shi+ge*ge*ge==aaa){
document.write("是一个水仙花")
}else{
document.write("不是一个水仙花")
}
</script>
3.2.3 else if
<script>
/*
双分支
*/
var result=prompt("今天你吃不吃杂酱面?")
if(result=="吃"){
document.write("走到杂酱面<br/>")
document.write("点菜<br/>")
document.write("结账<br/>")
document.write("吃饭<br/>")
document.write("收拾走<br/>")
}else{//{在只有一句话的情况下可以省略但是不建议}
document.write("买个面包吃吃<br/>")
}
document.write("上课<br/>")
var aaa="123";
var bai=parseInt(aaa/100)
var shi=parseInt(aaa/10)%10
var ge=aaa%10
if(bai*bai*bai+shi*shi*shi+ge*ge*ge==aaa){
document.write("是一个水仙花")
}else{
document.write("不是一个水仙花")
}
</script>
案例:
输入小明 的成绩,如果100分:奖励休一
天{代码块1}
else if(条件2){代码块2}
else if(条件3){代码块3}
…
e【lse{
代码块n
}
】
选择结构后的代码
<script>
var cai=prompt("你想吃什么")
if(cai=="麻辣烫"){
document.write("吃麻辣烫");
}else if(cai=="杂酱面"){
document.write("吃杂酱面")
}else if(cai=="老碗面"){
document.write("老碗面")
}else{
document.write("寿司")
}
document.write("上课")
</script>
如果>90,奖励一个鸡腿
如果>80,鼓励鼓励
如果>60,简单批评一下
如果不及格,罚站
3.3 switch分支
eg:<script>
var score=Number(prompt("请输入成绩"));
if(score>=100){
document.write("奖励休息一天!!!!<br/>")
}else if(score>90){//&&score<100这是前提_带上隐式条件可以乱序,如果不带不可以
document.write("奖励一个鸡腿!!!<br/>")
}else if(score>80){//score<=90
document.write("鼓励鼓励!!!!<br/>")
}else if(score>=60){//score<=80
document.write("简单批评一下!!!<br/>")
}else{
document.write("罚站!!!!<br/>")
}
</script>
输入月份:输出天数
<script>
var month= Number(prompt("请输入月份"))
if(month==1){
console.log("31天");
}else if(month==2){
console.log("28天");
}else if(month==3){
console.log("31天");
}else if(month==4){
console.log("30天");
}else if(month==5){
console.log("31天");
}else if(month==6){
console.log("30天");
}else if(month==7){
console.log("31天");
}else if(month==8){
console.log("31天");
}else if(month==9){
console.log("30天");
}else if(month==10){
console.log("31天");
}else if(month==11){
console.log("30天");
}else if(month==12){
console.log("31天");
}
if(month==2){
console.log("28天");
}else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
console.log("31tian");
}else{
console.log("30天");
}
</script>
多分支——跟刚才的else if是一样的,但是他功能比较简单——只能处理等值判断
switch(判断式——返回的具体的值){
case 值1:代码块1;[break]
case 值2:代码块2;[break]
case 值3:代码块3;[break]
case 值4:代码块4;[break]
case 值5:代码块5;[break]
case 值6:代码块6;[break]
default:那个都不匹配执行的代码块n;[break]
}
判断式的值值1:执行代码块1,如果有break中止,没有break,那么继续后边的代码,直到碰到breka或者}结束。
如果第一个不成立:
判断式的值值2:执行代码2-----------------
如果不成立
==值3》。。。。。。
如果都不成立:执行default。default没有位置限制
var month= Number(prompt("请输入月份"))
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:console.log("31天");break;
case 4:
case 6:
case 9:
case 11:console.log("30天");break;
case 2:console.log("28天");break;
default:console.log("错误");break;
}
成绩:
var score=Number(prompt("请输入成绩"));
var a=parseInt(score/10);
switch(a){
default:document.write("罚站!!!!<br/>");break;
case 10: document.write("奖励休息一天!!!!<br/>");break;
case 9: document.write("奖励一个鸡腿!!!<br/>");break;
case 8:document.write("鼓励鼓励!!!!<br/>");break;
case 7:
case 6:document.write("简单批评一下!!!<br/>");break;
}
switch:只能处理等值,在等值方面比else if更简洁效率更快;case后边的常量值:语句块中的break可以选,但是如果不写将一直往后执行,直到碰到break或者}结束;default的位置只要在swtich中并不是必须在最后,可以换地方。
switch和else if的区别:
else if的功能强大,什么判断都可以做
switch只能做等值,等值效率相对else if更高一些。
相同的:都是多分支