if 条件语句;switch 条件结构语句

()小括号的作用

先乘除后加减

1. 在算术运算符中 () 可以提供计算的优先级,有括号的先计算
console.log((3+5)*2)
2. () 可以把 js 放在 () 里面,表示一个整体
var a = -(-1)
3. 可以提高逻辑运算符的优先级
console.log((false && true) || (false && true))

if 条件语句

条件语句 : js 提供了 if 结构和 switch 结构,完成条件判断,只有满足预设的条件,才能执行相应的语句。
  1. if 结构的小括号里面的 boolean true 则会执行紧挨着 if 的语句 ( 只有一条 )
if (boolean)
语句
if(false)
console.log("is true1") // 如果if条件为true,则只会执行这一行代码。
// 后面的代码没有挨着if语句,不受条件限制。
console.log("is true2")
var x = 10
console.log(x)
  2. 如果挨着 if 结构的语句是代码块,如果 boolean true ,则整个代码块都会被执行 , 一般常用该方法。
if(boolean){
....
}
if(false){
console.log("is true1") // 如果if条件为true,整个{}代码块里面的语句都会执行
console.log("is true2")
}
  3. if() if 括号里面的条件如果不是 bool 类型,则会自动转 bool 类型。一般 if 结构的条件以逻辑运算符居多
if(1 === 3 || 4 === 4){
console.log("goood")
}

  4. else 语句

if(boolean){ // boolean为true执行挨着if语句的代码块
...
} else { // boolean 为false则执行挨着else的语句。else必须挨着if语句
...
}
var age = 12
// 大于 > ,小于 < , 大于等于 >= , 小于等于 <=
if(age <= 10){
console.log("小于等于10岁")
} else {
console.log("大于10岁")
}
  5. 多条件判断语句 else if(boolean){}, else if 必须挨着 if 语句或者 else if 语句 , 多个条件中只会执行一个 , 如果 bolean 为true ,则会停止后面的条件判断。
if(age < 10){
console.log("小于10")
} else if(a < 20){
console.log("小于20")
} else if(a < 30) {
console.log("小于30")
} else { // 如果前面的条件都不成立,则执行else语句
console.log("大于等于30")
}
// 需求: 95-100 完美, 80-95 优秀, 70-80 良好, 60-70 及格 , 60以下不及格。根据一个分数,判断是
属于哪个等级。
var score = 75;
if(score <=100 && score > 95){
console.log("完美")
} else if(score <=95 && score > 80){
console.log("优秀")
} else if(score <=80 && score > 70){
console.log("良好")
} else if(score <=70 && score >= 60){
console.log("及格")
} else {
console.log("不及格")
}
// 编程语言的最大特点是根据不同的思想有不同的写法,不同的代码写法运行的效率也不一样。
if(score < 60){
console.log("不及格")
} else if(score <= 70) {
console.log("及格")
} else if(score <= 80){
console.log("良好")
} else if(score <= 95) {
console.log("优秀")
} else {
console.log("完美")
}

switch 条件结构语句

switch 主要是简化多条件判断语句,用 x 去和 case 后面的值做全等于 (===) 比较 , 如果为 true 则会执行 case 里面的语句,break 是不会执行后面的语句,直接跳出 switch 语句
switch(x){
case value1:
语句1;
break;
case value2:
语句2;
break
default:
语句3
}
var name = "张"
switch(name){
case "张": //等价于 name === "张"
console.log("number1")
break // 执行语句遇到break终止后面代码执行,跳出switch语句,执行switch后面语句
// 如果不加break,如果case 条件为true以后,后面的case语句都不会在去比较,会直接执行里面的
语句。switch 语句必须加break
case "李":
console.log("number2")
break
default: // 执行到default运行里面的语句
console.log("number1000")
}
console.log("over")
// 如果排名是100名或者90名,表示中一等奖
// 如果排名是80或者85,表示二等奖
// 其他的没有奖
var sort = 80
switch(sort){
case 100: // 相同条件(或逻辑),可以用该写法。
case 90:
console.log("一等奖")
break
case 80:
case 85:
console.log("二等奖")
break
default:
console.log("没有奖")
}


题1.游戏中角色的控制一般用a表示向左移动,d表示向右移动,s表示向下移动,w表示向上移动,j表示发射子弹,k表示扔手雷请写出能实现角色以下动作的逻辑代码:

向左移动、向右移动、向下移动、向上移动、左下移动、左上移动、右下移动、右上移动、可以移动发射子弹或扔手雷

 //  由于键盘上的按键是可以同时按下,可以考虑用七个变量分别对应七个按键,可以用boolean的true表示按键按下,false表示按键没有按下
    var a = true
    var d = false
    var s = false
    var w = false
    var j = true
    var k = true
    // 左右方向只能生效一个
    if(a){
      console.log("left")
    } else if(d){
      console.log("right")
    }
    if(w){
      console.log("top")
    } else if(s){
      console.log("down")
    }
    if(j){
      console.log("bullt")
    }
    if(k){
      console.log("bo")
    }

题2.租车系统中: car 表示租车数量, price 表示价格, day 表示租车天数。请写出以下业务的逻辑代码:

1. 如果租1辆车,价格是100元/每天,租1天不打折,租2-5(包含)天打9折,租5-10(包含)天打8折,租10天以上打7折

2. 如果租2-5(包含5)辆车,价格是90元/每天,租1天不打折,租2-5(包含)天打8.8折,租5-10(包含)天打7.8折,租10天以上打6.8折

2. 如果租5辆车以上,价格是80元/每天,租1天不打折,租2-5(包含)天打8.6折,租5-10(包含)天打7.6折,租10天以上打6.6折

// 分析业务中数据并找出数据中的逻辑规律,尽量把有规律的数据做成变量控制。
        var car = 1
        var price = 100
        var day = 1
        var discount = 1
        // 根据车辆数量计算对应的租车的price价格和折扣关系
        if (car === 1) {
            discouunt = 0.9
        } else if (car <= 5) {
            price = 90
            discount = 0.88
        } else {
            discount = 0.86
            price = 90
        }
        //计算不同天数的折扣后的价格
        if (day === 1) {
            price = price
        } else if (day < + 5) {
            price = price * discount
        } else if (day <= 10) {
            price = price * (discount - 0.1)
        } else {
            price = price * (discount - 0.2)
        }
        console.log(car * price * day)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值