标签:说明 执行 控制语句 改版 执行顺序 分支 undefined 定义 def
1、运算符
1、位运算符
程序中的数据在计算机中都是以二进制形式存储的,位运算实际上是对二进制的每一位进行操作。
1、按位与:&
将操作数转换二进制之后,按位与,相同则为1,不同则为0
et: 3 & 5 = 1
011
& 101
------
001
使用:常用于判断整数的奇偶,将一个操作数与1做位与,结果为1,该操作为奇数,结果为0,说明该操作数为偶数。
et: 3 & 1 = 1
011
001
------
001
2 & 1 = 0
010
001
------
000
2、按位或:|
将操作数转换为二进制之后,做位或,
et: 3 | 5 = 7
011
101
------
111
et:
3、按位异或:^
两位不同则为1,相同则为0。
et: 3 ^ 5 = 6
011
101
------
110
异或操作可以在不借助三方变量的情况下互换两个变量的值
et:
var a = 3,b = 5;
var c = a;
a = b;
b = c;
使用异或:
a = a ^ b; //6
b = a ^ b; // 6 ^ 5 -> 011 = 3
a = a ^ b; // 6 ^ 3 -> 101 = 5
2、三目(元)运算符
语法:
表达式1 ? 表达式2 : 表达式3
使用:
1、判断表达式1的结果(布尔值)
2、如果表达1结果为ture,执行表达式2
2、如果表达1结果为false,执行表达式3
et:
var weight = 150;
var res = weight > 130 ? "有些微的胖" : "正常";
console.log(res);
练习1 :
1. 接收用户输入的成绩score
2. 判断成绩等级
score >= 90 优秀
80 <= score <90 良好
60 <= score <80 及格
score < 60 不及格
3. 提示用户当前成绩...
练习2 :
1. BMI 身体指数计算
2. 接收用户输入,身高(m),体重(kg)
3. bmi = 体重 / (身高 * 身高)
4. bmi < 18.5 偏瘦
bmi > 23.9 偏胖
介于中间,健康
练习1、
var score = prompt("输入成绩:");
var res = score >= 90 ? "优秀" : score >= 80 ? "良好" : score >= 60 ? "及格" : "不及格";
console.log(res);
练习2、
var height = prompt("请输入身高(m):");
var w = prompt("请输入体重(kg):");
var bmi = w / (height * height);
var res = bmi > 23.9 ? "偏胖" : bmi < 18.5 ? "偏胖" : "正常";
console.log(res);
2、流程控制
控制代码的执行顺序
流程控制语句:
1. 顺序结构:按照代码书写顺序,代码自上至下一行一行执行
2. 选择结构(分支结构)
3. 循环结构
1、选择结构:
根据条件判断的结果选择执行某一段代码执行
1、if 条件语句
1、if语句
if(判断条件){
条件为真时执行的代码段,
条件为假时,会跳过
}
注意:
1. if()后面的{} 可以省略,省略之后,认为if()后面的第一条语句是条件成立时待执行的语句
2. 判断条件必须是布尔类型的结果
3. 任何非0值都为真,0为假,以下条件的结果都为假 :
if(0){}
if(0.0){}
if(""){}
if(NaN){}
if(undefined){}
if(null){}
示例:if.html
2、if-else语句
语法:if(条件){
条件为真时执行
}else {
条件为假时执行
}
et:
var age = prompt("请输入年龄");
if(age >= 18){
console.log("成年人可以进网吧");
} else {
console.log("未成年人禁止入内");
}
3、if-else if语句
多重分支结构
语法:
if(条件1){
条件1成立时执行
} else if(条件2){
条件1为假,条件2成立时执行
} else if(条件3){
条件2为假,条件3为真时执行
}
...
}else{
条件不满足时执行
}
练习:
1、成绩等级判定
2、日期计算器
1. 接收用户输入 年 月 日,判断用户输入的日期是当年的第几天
et: 用户输入 2018-1-15
输出 当天是2018年的第15天
用户输入 2018-10-15
输出 当天是2018年的第31 + 15天
实现:
1. 将当前月之前的整月天数累加
2. 加上当前月的天数
3. 判断当前年份是否是闰年,若当年是闰年,并且用户输入的月份>2,总天数再+1
示例见:03if 练习.html
2、switch 语句
在进行值判断时用的比较多
语法:
switch(值){
case 值1 :
值匹配恒等时,执行的语句
break;
case 值2 :
值匹配恒等时,执行的语句
break;
...
default :
待执行的语句
}
注意 :
1. switch一般用于值得匹配,()中表示的是值
2. case 可以使用多个,每个case对应一种情况
3. case 后面直接写要对应匹配的值
et:
var a = 10;
swicth(a){
case 1 :
console.log("a=1");
break;
case 12 :
console.log("a=10");
break;
default :
console.log("查询不到");
}
4. 如果case给出的值匹配成功,执行当前case :后面的语句
5. break 用于跳出switch语句匹配,不再向下执行匹配,可以省略
6. default 表示所有的case都匹配失败之后默认执行的语句
其他情况 :
1. default 关键字一般写在switch的末尾,匹配失败之后最终执行的操作,可以省略
2. break 表示跳出switch语句,可以省略,如果省略break,会从当前匹配到的case开始向后依次执行所有的语句。
3. case 关键字,可以共用代码语句,注意配合break
et:
case 1:
case 2:
case 3:
console.log();
break;
练习:
1、每周食谱
用户输入星期几 (1-7)
判断当前日期对应的食谱
星期一 :今天是星期一,吃红烧肉
...
星期天 :今天是星期天,吃红烧鱼
见:4.html
2、改版日期计算器,计算当日是当年的第几天
见:5.html
2、循环结构:
重复执行某一段代码
1、循环语句的三要素
1. 循环变量
2. 循环条件
3. 循环体
2、语句
1、while 循环
1、语法:while(循环条件){
条件成立时,执行循环体
}
2、执行流程 :
1. 定义循环变量
2. 判断循环条件
3. 条件成立,执行循环体
4. 更新循环变量 (重点)
5. 重复步骤 2 - 3 - 4,直到条件不成立,跳出循环
练习 :
1. 输出 1-100之间的数字
2. 计算 1-100之间所有数字的和
3. 输出 1-100之间所有3的倍数
2、do-while循环
1、语法:do{
//循环体
}while(循环条件);
2、执行流程 :
1. 定义循环变量
2. 执行do操作,循环体
3. 循环体中更新循环变量
4. 判断循环条件,决定是否继续执行循环体
3、特点:
do-while循环不管条件是否成立,都至少执行一次循环体
4、while 与 do-while区别:
while循环先判断循环条件,为真才执行循环体;
do-while循环不管条件是否成立,先执行循环体,后判断循环条件。即使循环条件不成立,也会执行一遍循环体。
et:
var i = 101;
do{
console.log(i);
//更新循环变量
i ++;
}while(i < 101);
练习 :
1、循环接收用户输入,并在控制台中输出;
直到用户输入“exit”,结束循环
2、使用while循环改版日期计算器
3、for循环
1、语法:for(定义循环变量;循环条件;更新循环变量;){
//循环体
}
et:
for(var i = 1;i < 101; i ++){
console.log(i);
}
2、for循环与while循环区别:
1、循环的执行流程相同
2、for 循环常用于确定循环次数的场合
while循环常用于不确定循环次数的场合
4、循环控制
1、continue 表示跳出本次循环,开始下一次循环
2、break 表示跳出循环,结束整个循环,并且循环体中break后面的语句都不执行
练习 :
1. 判断素数(质数)
只能被1和自身整除的数是质数
接收用户输入的数字,判断是否为素数
2. 接收用户输入年月日,判断当日是星期几
参考 :已知 1990年1月1日是星期一
解决思路 :
1. 接收年月日,转换为Number
2. 计算当前日期与1990-01-01之间间隔多少天
年累加 1990 -> year-1
当前年中月份的累加
当前月的天数
3. 总天数 % 7(0 - 6 代表周日 - 周六)
3、循环的嵌套
可以再循环中再次嵌套其他循环
语法:for(var i = 0; i < 10; i ++){
for(var j = 0; j < 10 ; j ++){
}
}
练习 :
1. 在控制台中输出以下图形
*
**
***
****
*****
2. 在控制台中输出图形
*
***
*****
*******
*********
3. 控制台输出99乘法表
标签:说明 执行 控制语句 改版 执行顺序 分支 undefined 定义 def
原文地址:https://www.cnblogs.com/py321/p/9813272.html