41-50JS中switch,if,while,dowhile
2019-05-05 本文已影响2人
饥人谷_island
1.switch格式:
switch(表达式){
case 表达式A:
语句A;
break;
case 表达式B:
语句B;
break;
... ...
default:
前面所有case都不匹配执行的代码;
break;
}
2.switch特点
会从上至下的依次判断每一个case是否和()中表达式的结果相等, 如果相等就执行对应case后面的代码, 如果前面所有的case都不匹配, 那么就会执行default后面的代码
并且所有的case和default只有一个会被执行, 并且只会被执行一次
*/
let day = 7;
switch (day) {
case 1:
console.log("星期1");
break;
case 2:
console.log("星期2");
break;
case 3:
console.log("星期3");
break;
default:
console.log("Other");
break;
}
// 1.case判断的是===, 而不是==
/*
let num = 123;
switch (num) {
case "123":
console.log("字符串123");
break;
case 123:
console.log("数值的123");
break;
default:
console.log("Other");
break;
}
*/
// 2.()中可以是常量也可以是变量还可以是表达式
/*
// let num = 123;
// switch (num) { // 变量
// switch (123) { // 常量
switch (122 + 1) { // 表达式
case 123:
console.log("数值的123");
break;
default:
console.log("Other");
break;
}
*/
// 3.case后面可以是常量也可以是变量还可以是表达式
/*
let num = 123;
switch (123) {
// case 123: // 常量
// case num: // 变量
case 100 + 23: // 变量
console.log("数值的123");
break;
default:
console.log("Other");
break;
}
*/
// 4.break的作用是立即结束整个switch语句
// 在switch语句中一旦case或者default被匹配, 那么其它的case和default都会失效
/*
let num = 1;
switch (num) {
case 1:
console.log("1");
break;
case 2:
console.log("2");
break;
default:
console.log("Other");
break;
}
*/
// 5.default不一定要写在最后
// switch中的default无论放到什么位置, 都会等到所有case都不匹配再执行
/*
let num = 7;
switch (num) {
// default:
// console.log("Other");
// break;
case 1:
console.log("1");
break;
default:
console.log("Other");
break;
case 2:
console.log("2");
break;
}
*/
// 6.和if/else中的else一样, default也可以省略
let num = 7;
switch (num) {
case 1:
console.log("1");
break;
case 2:
console.log("2");
break;
}
要求用户输入一个分数,根据输入的分数输出对应的等级
A 90~100
B 80~89
C 70~79
D 60~69
E 0~59
100 / 10 = 10
90 / 10 = 9
99 / 10 = 9.9
98 / 10 = 9.8
*/
// 1.接收用户输入的分数
let str = prompt("请输入一个0~100的数");
// let score = +str;
let num = +str;
let score = parseInt(num / 10);
console.log(score);
/*
// 2.判断用户输入分数的范围
if(score >= 90 && score <= 100){
// 3.根据范围输出对应的等级
alert("A");
}else if(score >= 80 && score <= 89){
alert("B");
}else if(score >= 70 && score <= 79){
alert("C");
}else if(score >= 60 && score <= 69){
alert("D");
}else if(score >= 0 && score <= 59){
alert("E");
}else{
alert("回到火星去");
}
*/
switch (score) {
case 10:
case 9:
alert("A");
break;
case 8:
alert("B");
break;
case 7:
alert("C");
break;
case 6:
alert("D");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
alert("E");
break;
default:
alert("回到火星去");
break;
}
/*需求: 要求判断一个数是否是大于100的数
*
* 在企业开发中如果是对区间进行判断, 那么建议使用if
* 在企业开发中如果是对几个固定的值的判断, 那么建议使用switch
* 原则: 能用if就用if
* */
let num = 20;
/*
if(num > 100){
alert("大于100的数");
}else{
alert("不大于100的数");
}
*/
switch (num) {
case 101:
case 102:
case 103:
case 104:
}
1.if的格式
if(条件表达式){
条件满足执行的语句;
}
if的特点: 只有条件表达式为真才会执行后面{}中的代码
大括号中的代码只会被执行一次
2.while的格式
while(条件表达式){
条件满足执行的语句;
}
while的特点: 只有条件表达式为真才会执行后面{}中的代码
大括号中的代码有可能会被执行多次
3.while的执行流程
3.1首先会判断条件表达式是否为真, 如果为真就执行后面{}中的代码
3.2执行完后面{}中的代码, 会再次判断条件表达式是否还为真
3.3如果条件表达式还为真, 那么会再次执行后面{}中的代码
3.4重复3.1~3.3, 直到条件表达式不为真为止
*/
/*
console.log("发射子弹1");
console.log("发射子弹2");
console.log("发射子弹3");
console.log("发射子弹4");
console.log("发射子弹5");
console.log("发射子弹6");
console.log("发射子弹7");
console.log("发射子弹8");
console.log("发射子弹9");
console.log("发射子弹10");
*/
/*
书写循环结构的规则
1.不管三七二十一先写上循环结构的代码
2.将需要重复执行的代码拷贝到{}中
3.再()中指定循环的结束条件
*/
let num = 1;
while(num <= 10){
console.log("发射子弹" + num);
num++;
}
// 1.什么是死循环?
// 条件表达式永远为真的循环结构我们称之为死循环
// 2.什么是循环体?
// 循环结构后面的{}我们称之为循环体
/*
while (true){
console.log("123");
}
*/
// 3.和if一样对于非Boolean类型的值, 会先转换为Boolean类型再判断
// while (null){
// while (1){
// console.log("被执行了");
// }
// 4.和if一样while 后如果只有一条语句它可以省略大括号
// 和if一样如果省略了后面的{}, 那么只有紧随其后的那条语句受到控制
/*
while (false)
console.log("语句A");
console.log("语句B");
*/
// 5.和if一样, 不能在()后面写分号(;)
/*
while (false);
{
console.log("语句A");
console.log("语句B");
}
*/
// 6.最简单死循环写法
// while(1);
1.if的格式
if(条件表达式){
条件满足执行的语句;
}
if的特点: 只有条件表达式为真才会执行后面{}中的代码
大括号中的代码只会被执行一次
2.while的格式
while(条件表达式){
条件满足执行的语句;
}
while的特点: 只有条件表达式为真才会执行后面{}中的代码
大括号中的代码有可能会被执行多次
3.while的执行流程
3.1首先会判断条件表达式是否为真, 如果为真就执行后面{}中的代码
3.2执行完后面{}中的代码, 会再次判断条件表达式是否还为真
3.3如果条件表达式还为真, 那么会再次执行后面{}中的代码
3.4重复3.1~3.3, 直到条件表达式不为真为止
*/
/*
console.log("发射子弹1");
console.log("发射子弹2");
console.log("发射子弹3");
console.log("发射子弹4");
console.log("发射子弹5");
console.log("发射子弹6");
console.log("发射子弹7");
console.log("发射子弹8");
console.log("发射子弹9");
console.log("发射子弹10");
*/
/*
书写循环结构的规则
1.不管三七二十一先写上循环结构的代码
2.将需要重复执行的代码拷贝到{}中
3.再()中指定循环的结束条件
*/
let num = 1;
while(num <= 10){
console.log("发射子弹" + num);
num++;
}
// 1.什么是死循环?
// 条件表达式永远为真的循环结构我们称之为死循环
// 2.什么是循环体?
// 循环结构后面的{}我们称之为循环体
/*
while (true){
console.log("123");
}
*/
// 3.和if一样对于非Boolean类型的值, 会先转换为Boolean类型再判断
// while (null){
// while (1){
// console.log("被执行了");
// }
// 4.和if一样while 后如果只有一条语句它可以省略大括号
// 和if一样如果省略了后面的{}, 那么只有紧随其后的那条语句受到控制
/*
while (false)
console.log("语句A");
console.log("语句B");
*/
// 5.和if一样, 不能在()后面写分号(;)
/*
while (false);
{
console.log("语句A");
console.log("语句B");
}
*/
// 6.最简单死循环写法
// while(1);
/*打印1~100之间 7的倍数,并统计个数*/
// console.log(1);
// console.log(2);
// console.log(3);
// console.log(4);
/*
书写循环结构代码的规则
1.不管三七二一先写上循环结构的代码
2.将需要重复执行的代码拷贝到{}中
3.在()中指定循环结束的条件
*/
let num = 1;
let count = 0;
while(num <= 21){
// console.log(num);
if(num % 7 === 0){
console.log(num);
count++;
}
num++;
}
console.log(count);
/*提示用户输入一个正整数n, 计算1 + 2 + 3 + ...n的和
规律:
1.每次都是使用上一次的和加上当前的一个数
2.每次加上的这个数都是一个递增的数据
1 + 2 + 3 + 4;
0 + 1
1 + 2
3 + 3
6 + 4
*/
// 1.定义一个变量保存上一次相加的和
let sum = 0;
// 2.定义一个变量保存每次递增的那个数
let num = 1;
// 3.利用上一次的和加上递增的数
/*
sum = sum + num; // sum = 0 + 1;
num++; // 2
sum = sum + num; // sum = 1 + 2
num++; // 3
sum = sum + num; // sum = 3 + 3
num++; // 4
sum = sum + num; // sum = 6 + 4
*/
while (num <= 5){
sum = sum + num; // sum = 1 + 2
num++; // 3
}
console.log(sum);
1.while循环的格式
while(条件表达式){
需要重复执行的代码;
}
while循环的特点: 只有条件表达式为真, 才会执行循环体
2.dowhile循环的格式
do{
需要重复执行的代码;
}while(条件表达式);
dowhile循环的特点: 无论条件表达式是否为真, 循环体都会被执行一次
*/
// while (false){
// console.log("www.it666.com");
// }
do{
console.log("www.it666.com");
}while (false);
需求: 要求用户输入密码, 判断输入密码是否正确(假设正确密码是123456)
如果正确, 输出"欢迎回来"
如果不正确, 要求用户重新输入
*/
/*
let pwd = prompt("请输入密码");
if(pwd !== "123456"){
pwd = prompt("请输入密码");
}
if(pwd !== "123456"){
pwd = prompt("请输入密码");
}
if(pwd !== "123456"){
pwd = prompt("请输入密码");
}
if(pwd !== "123456"){
pwd = prompt("请输入密码");
}
alert("欢迎回来");
*/
/*
let pwd = prompt("请输入密码");
while (pwd !== "123456") {
pwd = prompt("请输入密码");
}
alert("欢迎回来");
*/
let pwd = -1;
do{
pwd = prompt("请输入密码");
}while (pwd !== "123456");
alert("欢迎回来");
/*
1.在企业开发中大部分情况下while循环和dowhile循环是可以互换的
2.在企业开发中如果循环体中的代码无论如何都需要先执行一次, 那么建议使用dowhile循环
3.在企业开发中其它的情况都建议使用while循环
*/