运算符(&,|,^) 与流程控制语句(判断:if , if-else , if-else-if ,循环: while, do-while,for)


1. 运算符
    1. 位运算符
        程序中的数据在计算机中都是以二进制形式存储的,位运算
        实际上是对二进制的每一位进行操作
        1. 按位与 :&
                将操作数转换二进制之后,按位与,相同则为1,不同
                则为0
                    et : 
                        3 & 5 = 1
                        011  
                    &    101
                    ------
                        001
                使用 :常用于判断整数的奇偶,将一个操作数与1做
                位与,结果为1,该操作数为基数,结果为0,说明操作
                数为偶数
                    3 & 1 = 1 
                    011
                    001
                ------
                    001
                    2 & 1 = 0
                    010
                    001
                ------
                    000
        2. 按位或 :|
                将操作数转换为二进制之后,做位或,
                et :
                    3 | 5 = 7
                    011
                    101
                -------
                    111
        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结果为true,执行表达式2
                3. 如果表达式1结果为false,执行表达式3

            练习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 偏胖
                     介于中间,健康
2. 流程控制
        控制代码的执行顺序
        流程控制语句 :
            1. 顺序结构 : 代码自上至下一行一行执行
            2. 选择结构(分支)
            3. 循环结构
        1. 选择结构 :
            根据条件判断的结果选择执行某一段代码
            1. 语法 :
                1. if(判断条件){
                            条件为真时执行的代码段,
                            条件为假时,会跳过
                        }
                    注意 :
                        1. {} 可以省略,省略之后,认为if()后面的
                        第一条语句是条件成立时待执行的语句
                        2. 判断条件必须是布尔类型的结果
                        3. 非零值都为真,零为假
                                以下条件都为假 :
                                    if(0){}
                                    if(0.0){}
                                    if(""){}
                                    if(NaN){}
                                    if(undefined){}
                                    if(null){}
                2. if-else语句    
                        语法 :
                            if(条件){
                                条件为真时执行
                            }else {
                                条件为假时执行
                            }
                        et :
                            var a = 20;
                            if(a > 18){
                                console.log("成年人可以进网吧");
                            }else{
                                console.log("未成年人禁止入内");
                            }
                3. if-else if语句
                        多重分支结构
                        if(条件1){
                            条件1成立时执行
                        }else if(条件2){
                            条件2成立时执行
                        }else if(){
                        
                        }else{
                            条件不满足时执行
                        }
                练习 :
                    1. 成绩等级判定
                    2. 日期计算器
                        1. 接收用户输入 年 月 日,判断用户输入的日期
                        是当年的第几天
                            et : 2018-1-15
                                     2018-10-15
                        实现 :
                            1. 将当前月之前的整月天数累加
                            2. 加上当前月的天数
                            3. 当前年份是否是闰年
            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 用于跳出匹配,不再向下执行匹配
                    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-7)
                        判断当前日期对应的食谱
                    练习2 :
                        改版日期计算器,计算当日是当年的第几天
        2. 循环结构 :
            重复执行某一段代码
            1. 循环语句的三要素
                1. 循环变量
                2. 循环条件
                3. 循环体
            2. 语法 
                1. while 循环
                        while(循环条件){
                            条件成立时,执行循环体
                        }
                    执行流程 :
                        1. 定义循环变量
                        2. 判断循环条件
                        3. 条件成立,执行循环体
                        4. 更新循环变量 (重点)
                        5. 重复步骤 2 - 3 - 4,直到条件不成立,跳出循环
                    练习 :
                        1. 输出 1-100之间的数字
                        2. 计算 1-100之间所有数字的和
                        3. 输出 1-100之间所有3的倍数
                2. do-while循环
                        do{
                            //循环体
                        }while(循环条件);
                    执行流程 :
                        1. 定义循环变量
                        2. 执行do操作,循环体
                        3. 循环体中更新循环变量
                        4. 判断循环条件,决定是否继续执行循环体
                    特点 :
                        do-while循环不管条件是否成立,都至少执行一次
                        循环体
                    练习 :
                        循环接收用户输入,并在控制台中输出;
                        直到用户输入“exit”,结束循环
                    练习2 :
                        使用while循环改版日期计算器
                3. for循环
                    for(定义循环变量;循环条件;更新循环变量;){
                        //循环体
                    }
                    et :
                        for(var i = 1;i < 101; i ++){
                            console.log(i);
                        }
                    for循环与while循环 :
                        1. 循环的执行流程相同
                        2. for循环常用于确定循环次数的场合
                                while循环常用于不确定循环次数的场合
                4. 循环控制
                    1. continue 跳出本次循环,开始下一次循环
                    2. break 结束循环,break后面的语句都不执行
                    练习 :
                        1. 判断素数(质数)
                             只能被1和自身整除的数是质数
                             接收用户输入的数字,判断是否为素数
                        2. 接收用户输入年月日,判断当日是星期几
                                参考 :已知 1990年1月1日是星期一
                                15 号 星期一
                                25 号 ?
            3. 循环的嵌套
                可以再循环中再次嵌套其他循环
                    for(var i = 0; i < 10; i ++){
                        
                        for(var j = 0; j < 10 ; j ++){
                                
                        }
                    }


                        

                        
                    


                        

                                        

        


 

你可能感兴趣的:(javascript)