Day6
今天继续学习javascript。。。
7.常用的关系运算符
> ,>= ,< ,<= , == , !=
使用关系运算符做运算 最终得到的结果是 一个boolean类型数据 (true/false)
true:正确的
false:错误的
var age=19;
age>18 true
age>=18 true
age<18 false
注:js中字符串 与数值可以进行匹配 都会转成字符串进行比较
var str="18";
if(str=="18"){
document.write("true");//true
}
if(str==18){
document.write("true");//true
}
8. 逻辑运算符
使用逻辑运算符号 最终返回的结果一定也是boolean类型 true/false
与 或 非:
&&(与运算 并且)
||(或运算 或者)
!(非运算 非)
一般情况下与 关系运算符综合起来使用。。。
[18,100] var age=parseInt(prompt(“请输入年龄:”));
条件判断1:age>=18 正确返回 true 错误返回false
条件判断2:age<=100 正确返回 true 错误返回false
age>=18&&age<=100
记住:
1.只有当条件判断1 和条件判断2 都为true的时候 条件判断1 && 条件判断2才会为true
其余情况都为false。。。
var uname=“admin”;
var upass=“admin”;
uname!=“admin” || upass!=“admin”
条件判断1: uname!=“admin”
条件判断2: upass!=“admin”
记住只有当条件判断1为false 以及 条件判断2为false的时候
条件判断1||条件判断2 才会为 false,其余情况都为true
!非运算 取反
如果条件判断是正确的的 取反之后 那就是 错误的。。
var age=19
age>18 正确
!(age>18) false
扩展:
条件判断1&&条件判断2&&条件判断3
条件1,2,3都成立 最终的结果才会为true。。。
(条件1&&条件2)&&条件3
以此类推:
条件判断1||条件判断2||条件判断3
条件1,2,3,都为false最终结果才会为false
根据年份判断次年份是否为闰年。
var year=2020;
1.年份能被4整除 ,但是不能被100整除的 我们称之为 闰年。
year%4==0&&year%100!=0 // 这样的year是闰年 闰年2月29天
或者 直接能够被400整除的年份 我们也称之为闰年。。。
year%400==0
(year%40&&year%100!=0)||(year%4000) 返回true的就是闰年。
9.选择结构
(1)if-else基本结构
详细的格式:
条件:boolean类型的内容
if(条件)//关系运算符,或者逻辑运算符,直接写true或者false 也可以
{
//代码1 当条件的boolean值为true的时候 执行 代码1 代码2就不执行了
}else{
//代码2 当条件的boolean值为 false的时候 执行代码2 代码1就不执行了
}
var num=19;
if(num>=18)
{
alert("您成年了,可以上网");
}else{
alert("还未成年,禁止玩游戏")
}
(2)多重if-else结构
用来解决多条件分支判断
if(条件1){
//代码段1 满足条件1 执行代码段1 然后 程序结束
}else if(条件2){
//代码段2 不满足条件1 但是满足条件2 执行 代码段2 程序 结束
}else if(条件3){
//代码段3 不满足条件1,条件2 但是满足条件3 执行代码段3 程序结束
}else{
//代码段4 不满足 条件1 条件2 条件3 执行代码段4 程序结束
}
document.write(“程序结束”);
例:
/*满200打9折
满400打8折
满1000打6折
满2000打5折*/
var money=parseInt(prompt("请输入实际的购物金额:"));
if(money<200){
money=money;
}else if(money<400){//money>=200
money=money*0.9;
}else if(money<1000){ //money>=400
money=money*0.8;
}else if(money<2000){ //money>=1000
money=money*0.6;
}else{//money>=2000
money=money*0.5;
}
alert("实际消费金额为:"+money);
(3)switch-case选择结构
switch 适应范围:等值判断
if-else:既可以是等值判断也可以是非等值判断
switch(变量){//数值,字符串
case 常量1:{
//代码段1 当变量的值正好等于 常量1时执行代码1
}break;
case 常量2:{
//代码段2 当变量的值正好等于 常量2时 执行代码2
}break;
case 常量3:{
//代码段3 当变量的值正好等于常量3时 执行代码3
}break;
default:{
//代码段4 当变量的值 没有与之匹配的常量时 执行代码段4 类似 多重if里面的else
}
}
//ATM
//1.存钱
//2.取钱
//3.转账
/*
请输入1-3:
选择1 。。。正在执行存钱操作。。。
选择2。。。 正在执行取钱操作。。。
选择3。。。 正在执行转账操作。。。
*/
var selNum=prompt("请选择1-3:");
switch (selNum){
} case "1":{
document.write("<p>正在执行存钱操作。。。</p>");
}break;
case "2":{
document.write("<p>正在执行取钱操作。。。</p>");
}break;
case "3":{
document.write("<p>正在执行转账操作。。。</p>");
}break;
default :{
document.write("<p>输入格式错误,请输入1-3!!!</p>");
}
10.循环结构
什么是循环?
所谓循环指的是 重复执行相同的操作。
(1)while循环
while(boolean类型的数据){//关系运算符号 逻辑运算符号 boolean类型的数据 //1.循环条件。。。
//2.循环体。。。
//3.循环条件的改变。。。
}
//注意:1.满足循环条件 说明 最终返回结果是true
执行 2循环体1次
然后再去执行3 (改变循环条件)
在执行 1. 循环条件 如果满足 再去执行2,3
在执行 1 … 如果满足 再去执行 2,3
。。。。。
在执行 1 的时候如果不满足 结束循环 ,就不在执行 2,3了。
例:
应用while循环 实现求和 1+2+3+4+…+100;
第一次循环 +1
第二次循环 +2
第三次循环 +3
{
var count=1;//记录是第几次循环
var sum=0;//将数据累加至 sum
while(count<=100){// count<=100 100
sum=sum+count;//累加是重复要做的事情
//每累加一次 循环次数增加1
count++;
}
(2)do-while循环
do{
//2.循环体
//3.循环条件的改变 统计循环次数。
}while(//1.循环条件);
总结一下:
do-while:循环体至少执行一次 , 先执行 后判断 。
while:有可能一次都不执行,先判断 后执行。
(3)for循环
for(初始化变量;//1.循环条件;//3.循环条件的改变){
//2.循环体
}
其执行过程实际跟while循环一样, 但是从结构上来说 比while更加简单。
总结一下 :
对于循环次数固定的 使用for循环更加简单
对于循环次数不固定的 使用while循环。(包括死循环)
11.死循环以及break和continue的应用
当循环条件永久为真true的时候 ,循环将陷入死循环 ,永远无法结束。
while(true){//条件直接写成true
//代码
}
while(1==1){ //条件永久为真
//代码
}
2个关键字用于循环:
break:直接跳出当前所在的循环中 (除了应用于循环 还可以应用于 switch-case);
continue:结束本次循环 立即进入下一次循环
12.双重循环
for(…){ //外层循环
for(){
// 内层循环
}
while(){
}
}
1.一般情况下 外层循环循环1次 ,内层循环整个执行一遍。
2.外层循环一般用来决定循环的行数,内层循环一般用来决定循环的列数。
例:
99乘法表:
for(i=1;i<=9;i++){
for(j=1;j<=i;j++){
document.write(j,"X",i,"=",(i*j)," ")
}
document.write("<br>")
}