程序的三大结构
顺序结构、分支结构、顺序结构
下面图面在网上找的,如果由侵权,请联系
顺序结构
代码从上到下依次执行
分支结构
根据条件判断代码是否执行某个代码块
循环结构
根据某个条件来重复执行,减少代码量
分支循环:有if和switch两个
if由单分支、双分支和多分支
if单分支
语法:if(条件){ 代码块 }
如果条件为true,就执行花括号里面的代码块,
为false就不执行花括号里面的,继续执行下面的代码
var age = 20;
if(age>18){
alert("你成年了");//条件成立就执行
}
console.log("hello");
if双分支
双分支if:
if(条件){ 代码块1 }
else{ 代码块2 }
如果条件为true,就执行代码块1,为false就执行代码块2
var age = 10;
if(age>18){
alert("成年了")
}else{
alert("孩子,你还小");//因为10小于18,所以执行这个代码块
}
多分支if:
语法a:
if(条件1){
代码块1
}
else if(条件2){
代码块2
}
else if(条件3){
代码块3
}
...
/*
如果条件1为true,就会执行代码块1,
如果条件1为false,就会判断条件2是否为true,
为true就执行代码块2,为false就判断条件3,后面的依此类推
注:如果有多个{},只会执行一个,一旦其中一个为true,后面的就不会在判断了
*/
语法b:
if(条件1){
代码块1
}
else if(条件2){
代码块2
}
else if(条件3){
代码块3
}
else{
代码块4
}
/*
这个和上面的差不多,多了个else{},如果条件1,条件2和条件3都为false,
就会执行else{}里面的
*/
switch
switch 也是判断某一个是否满足
语法:
switch (n) {
case 情况1:
代码块1;
break;
case 情况2:
代码块2;
break;
case 情况3:
代码块3;
break;
....
default:
上述情况都不满足的时候执行的代码
break;
/*
工作原理:首先设置表达式 n(通常是一个变量)。
随后表达式的值会与结构中的每个 case 的值做比较。
如果存在匹配,则与该 case 关联的代码块会被执行。
使用 break 来阻止代码自动地向下一个 case 运行。
注:break关键字会导致代码执行流跳出switch语句。
*/
}
//输入1-7的数字,显示是星期几
var week=2;//表示
switch(week){
case 1:
alert("星期一");
break;
case 2:
alert("星期二");
break;
case 3:
alert("星期三");
break;
case 4:
alert("星期四");
break;
case 5:
alert("星期五");
break;
case 6:
alert("星期六");
break;
case 7:
alert("星期七");
break;
default:
alert("输入错误,请重新输入一下");
break;
}
//最后弹出的是星期二
//需要注意的
var num1=2;
switch(num1){
case 1:
alert("1");
case:2
alert("2");
case:3:
alert("3");
break;
case 4:
alert(4);
break;
case 5:
alert(5);
case 6:
alert(6);
break;
}
//这个switch弹出的是2和3
//break是 来阻止代码自动地向下一个 case 运行
if…else if…else 语句和switch case语句的比较
前者可以比较范围,后者比较的是定值
前者的效率没有后者效率快(前者需要一个一个去比较,后者只需和case比较一次就可以)
三元运算符
三元运算符由 ? : 两个符后组成
三元运算符是 if {} else{} 的简写
语法:条件?代码块1:代码块2
如果条件为true,就执行代码块1
为false,就执行代码块2
扩展:
prompt(str1,str2) 弹出可输入的对话框
str1: 提示要显示在消息对话框中的文本
str2:文本框中的内容
返回值: 1. 点击确定按钮,文本框中的内容将作为函数的返回值
2. 点击取消按钮,将返回null
/*
1、开发一款软件,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。
来观察测试者体重是否合适
*/
var height = parseInt(prompt('请输入您的身高'));
var tizhong = parseInt(prompt('您是多少斤'));
var weight = (height - 108) * 2;
var diff = tizhong - weight
if (diff <= 10 && diff >= -10) {
alert("亲,您的身材刚刚好");
} else {
alert("亲,您的体重不合适,需要锻炼哦")
}
//2、输入分数,判定成绩等级
var score = parseInt(prompt("请输入1~100之间的整数分数"));
if(score>=0 && score<=100){
if (score <= 100 && score >= 90) {
alert("亲,您的等级是 A");
} else if (score < 90 && score >= 80) {
alert("亲,您的等级是 B");
} else if (score < 80 && score >= 70) {
alert("亲,您的等级是 C");
} else if (score < 70 && score >= 60) {
alert("亲,您的等级是 D");
} else{
alert("菜鸡,你的等级是 E,还不努力学习");
}
}else {
alert("亲,您输入的有问题,请刷新页面,再输入一次");
}
// 3、输入年份,月份,显示当月的天数(注:闰年的2月是29天)
var year = parseInt(prompt("请输入年份"));
var month = parseInt(prompt("请输入月份"));
// 能被400整除,或者能被4整除但不能被100整除的都是闰年
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
alert(month + "月有31天");
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
alert(month + "月有30天");
} else if (month == 2) {
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
alert(month + "月有29天");
} else {
alert(month + "月有28天");
}
}
//输入年月日,判断是一年的第多少天
var year = 2020;//年
var month = 3;//月
var date = 14;//日
var sum = 0;//求和
switch (month) {
case 12:
sum += 30;
case 11:
sum += 31;
case 10:
sum += 30;
case 9:
sum += 31;
case 8:
sum += 31;
case 7:
sum += 30;
case 6:
sum += 31;
case 5:
sum += 30;
case 4:
sum += 31;
case 3:
sum += 28;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
sum += 1;
}
case 2:
sum += 31;
case 1:
sum += date;
break;
default:
alert("error");
break;
}
alert(sum);