JavaScript(2)__Js基础<if swich while>

来源:互联网 发布:openwrt mac地址 编辑:程序博客网 时间:2024/04/25 09:08

1:条件控制语句

条件语句提供一种语法构造,只有满足某个条件,才会执行相应的语句。JavaScript提供if结构和switch结构,完成条件判断。

1:if语句:如果……那么……否则……            

if(明天不下雨){                

     我就出去玩;

}else{

     我就在家写作业;

}

注意:条件表达式,要么是true、要么是false。绝对在计算机中,不可能出现模棱两可的情况。所以,if语句让程序有了“选择”,可以在两条路中选择一条。

练习:

    1:获取两个数据中较大的值

     2:判断一个数据是奇数还是偶数,并输出是奇数还是偶数

    3:用户输入自己的考试成绩,提示用户是否及格。如果及格了,弹出警告框“恭喜,你及格了”、“不要骄傲啊”。如果没有及格,那么弹出警告框“很遗憾,你没有及格”、“请继续努力啊”。然后都弹出“么么哒”。


 //第一步,让用户输入自己的成绩。
var score = parseFloat(prompt("请输入你的成绩"));
//第二步,判断
if(score >= 60){
alert("恭喜,你及格了!");
alert("不过不要骄傲啊!");
}else{
alert("很遗憾,你没有及格!");
alert("请继续加油啊!!");
}
alert("么么哒");



2:多分支语句



//第一步,输入身高和体重

              var height = parseFloat(prompt("请输入身高,单位是米"));

var weight = parseFloat(prompt("请输入体重,单位是公斤"));

 

              //第二步,计算BMI指数

              var BMI = weight / Math.pow(height,2);   

 

              //第三步,if语句来判断。注意跳楼现象

              if(BMI < 18.5){

       alert("过轻,嘻嘻嘻,你不怕被风吹走啊??多吃点吧!");

              }else if(BMI < 25){

                     alert("正常,真好!!");

              }else if(BMI < 28){

                     alert("过重!还好啊!");

              }else if(BMI <= 32){

                     alert("肥胖,注意减肥啊!");

              }else{

                     alert("非常肥胖!");

              }



3:if语句的嵌套

 小练习:求三个数的最大值

if(num1>num2) {

      if(num1>num3) {

           max = num1;

        }else{

           max = num3;

        }

    }else {

       if(num2>num3) {

           max = num2;

        }else{

           max = num3;

        }

    }

   console.log(max);


小练习:

一个加油站为了鼓励车主多加油,所以加的多有优惠。

92号汽油,每升6元;如果大于等于20升,那么每升5.9;

97号汽油,每升7元;如果大于等于30升,那么每升6.95

编写JS程序,用户输入自己的汽油编号,然后输入自己加多少升,弹出价格。

//第一步,输入

              var bianhao = parseInt(prompt("你想加什么油?填写92或者97"));

              var sheng = parseFloat(prompt("你想加多少升?"));

 

              //第二步,判断

              if(bianhao == 92){

                     //编号是92的时候做的事情

                     if(sheng>= 20){

                            var price = sheng * 5.9;

                     }else{

                            var price = sheng * 6;

                     }

              }else if(bianhao == 97){

                     //编号是97的时候做的事情

                     if(sheng>= 30){

                            var price = sheng * 6.95;

                     }else{

                            var price = sheng * 7;

                     }

              }else{

                     alert("对不起,没有这个编号的汽油!");

              }

 

              alert("价格是" + price);

 

 
5:if语句注意点

1:else部分是可以省略:

   没有else部分,就是说没有“否则”,如果条件表达式不满足了,那么就什么都不做。

 

2:如果要做的事情,只有一句话,那么可以省略大括号(初学者尽量不要这么玩儿,一定要把大括号写完整):

                  var a = 2;

                  if(a > 5) alert("这个数字大于5");

                  alert("哈哈哈哈");


6:switch结构

根据变量fruit的值,选择执行相应的case。如果所有case都不符合,则执行最后的default部分。需要注意的是,每个case代码块内部的break语句不能少,否则会接下去执行下一个case代码块,而不是跳出switch结构。




小练习:

需求:用户输入一个成绩,判断并输出成绩的等级。

90-100 优 80-89 良 70-79 中 60-69 及 0-59 差

思路:将分数缩小范围,多个条件结果相同可以把case写在一起

var score = 7;

  var score1= ;

   switch(parseInt(score/10)) {

       case10:

       case9:

          alert("优秀");

          break;

       case8:

          alert("良");

          break;

       ...

      default:

          alert("智商拙计");

   }

 

 

switch注意点:

需要注意的是,switch语句后面的表达式与case语句后面的表示式,在比较运行结果时,采用的是严格相等运算符(===),而不是相等运算符(==),这意味着比较时不会发生类型转换。




3:for循环

for语句是循环命令的一种形式,可以指定循环的起点、终点和终止条件。它的格式如下



初始化表达式(initialize):确定循环的初始值,只在循环开始时执行一次。

测试表达式(test):检查循环条件,只要为真就进行后续操作。

递增表达式(increment):完成后续操作,然后返回上一步,再一次检查循环条件。

练习:

1:输出十次HelloWorld  

2:在控制台输出1-100

3:求1-100的和  求出1-100之间偶数和

var sum1 = 0;
for (var i = 1; i <= 100; i++) {
    if (i % 2 == 0) {
        sum1 += i;
    }
}
console.log(sum1);

4:寻找1-1000之内,所有能被5整除、或者能被6整除的数字

for (var i = 1; i <= 1000; i++) {
    if (i % 5 == 0 || i % 6 == 0) {
        console.log(i);
    }
}

5:寻找水仙花数  水仙花数是一种特殊的三位数,它的特点就是,每个数位的立方和,等于它本身。比如153就是水仙花数。因为:1+125+27 = 153

var count =0;
// 求水仙花数:每一位上的立方和等于该数本身
for (var i = 100; i <= 1000; i++) {
    var bai = parseInt(i / 100);
    var shi = parseInt(i % 100 / 10);
    var ge = parseInt(i % 10);
    if(bai*bai*bai+shi*shi*shi+ge*ge*ge=== i) {
        count++;
    }
}
console.log(count);


4:while循环

While语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。





5:do-while循环

do...while循环与while循环类似,不管条件是否为真,do..while循环至少运行一次,这是这种结构最大的特点。另外,while语句后面的分号不能省略。