JavaScript条件.循环语句&案例.(三)

目录

1 if条件语句

1.1 基本使用

 1.2 else关键字

 1.3 多分支if条件语句

if条件语句嵌套使用

2 switch条件语句

3 for循环语句

基本使用

for循环语句其他书写方式

 穷举思想

循环语句嵌套使用

4 while循环语句

基本使用

编写经典程序


1 if条件语句

1.1 基本使用

  1. if条件语句是由关键字if开头,后面紧随一个小括号。
  2. 小括号里面放置条件:条件一般需要的是布尔值、其他类型数值、运算符计算完的结果
  3. 小括号后面紧随大花括号(结构体),结构体里面可以书写代码。
  4. 如果条件为真,条件语句结构体才会执行。如果条件为假,条件语句结构体不会执行。
  5. 条件语句:不管你是执行了结构体、或者没有执行结构体里面代码。
  6. 条件语句后面代码也会执行。
<script type="text/javascript">
     if(59 >100){
         alert("我执行啦");
     }
     alert("错误喽");
</script>

 1.2 else关键字

  1. 关键字else可以结合if条件语句一起使用。不是必须的。
  2. else关键字(否则),else关键字的这个分支,其实是有暗含条件。
  3. 暗含条件是对于上面分支的条件进行否定。

 经典案例:

//让用户输入一个数字,对应弹出这个数字是偶数、奇数。
//偶数:就是能被2整除的数字
//奇数:不能被2整除的数字
<script type="text/javascript">
  //奇数、偶数判断
   var num = prompt("请你输入一个数字");
   if(num % 2 == 0){
      //分支:当前这个num数字可以被2整除(偶数)
   	  alert(num + "偶数");
   }else{
     //分支:当前这个num数字不能被2整除(奇数)
   	  alert(num+"奇数");
   }
</script>

 1.3 多分支if条件语句

举个栗子:

合理利用关键字else,会让你的程序更加简洁。

<script type="text/javascript">
  //条件语句:切记,永远是在多种情况下,选择一个分支去执行的。
  var score = prompt("请你输入一个分数");
  //四个分支
  if(score < 60){
    //分支1:分数小于60分
  	alert("补考吧哈哈哈");
  }else if(score < 70){
  	//分支2:else这个关键字是有暗含条件,对于上面分支进行否定
  	alert("及格喽!!");
  }else if(score < 80){
  	//分支3:else这个关键字是有暗含条件,对于上面分支进行否定
  	//暗含条件:分数一定是大于等于70
  	//完成条件:分数大于等于70且小于80
  	alert("不错嘛!!");
  }else{
  	//分支4:else这个关键字是有暗含条件,对于上面分支进行否定
  	//暗含条件:分数大于等于80
  	alert("你真厉害!!")
  }
</script>

if条件语句嵌套使用

<script type="text/javascript">
  //用户输入的条件:
  var sex = prompt("请你输入你的性别");
  var age = prompt("请你输入你的年龄");
  //这个分支:当性别为男的时候才会执行
  if(sex=="男"){
  	  if(age >= 22){
  	  	 //分支条件:性别一定是男的,年龄大于等于22
  	  	 alert("你已经可以结婚啦");
  	  }else{
        //分支条件:性别一定是男的,年龄小于22
        alert("想什么呢!上小孩那桌!!");
  	  }
  }else{
   //这个分支:当性别不是男的时候才会执行(女)
     if(age >=20){
     	//分支:性别一定是女的,年龄大于等于20
     	 alert("补药相信男人啊!!");
     }else{
      //分支:性别一定是女的,年龄小于20岁
      alert("想什么呢!上小孩那桌!!");
     }
  }
</script>

2 switch条件语句

switch: 开关 case:条件、情况 break:终止、打破default:默认

  1. switch条件语句中小括号里面:布尔值、变量、表达式等等。
  2. case关键字后面紧随的判断条件,判断条件为真执行分支,判断条件为假的不执行分支。
  3. default关键字,可以理解为else,对于其余分支进行否定,使用的时候功能近似else。
  4. break关键字,它的作用是立即终止条件语句,跳出条件语句执行条件语句后面代码。

  5. continue关键字可以结合循环语句一起使用。它主要的作用是,终止当前这一次循环,立刻、马上去执行下一次循环。

举栗:

<script type="text/javascript">
  //用户输入一个月份
  //注意:prompt提示框赋值给变量的数据都为字符串类型
  var month = prompt('请你输入一个月份');
      month = parseInt(month);
  switch(month){
  	   case 1:
  	   case 3:
  	   case 5:
  	   case 7:
  	   case 8:
  	   case 10:
  	   case 12:
  	   alert("当前月份是31天");
  	   break;
  	   case 2:
  	   alert('当前月份28||29天');
  	   break;
  	   default:
  	   //暗含条件:对于上面全部分支条件进行否定
  	   alert('当前月份是30天');
  	   break;
  }
</script>
<script type="text/javascript">
  //continue:可以结合循环语句一起使用,主要的作用是可以终止当前这一次循环,
  //然后立刻去执行循环语句的下一次循环。
  for(var i = 1 ; i < 10 ; i ++){
        if(i % 2 ==0){
        	continue;
        }
      console.log("当前循环语句执行"+ i)
  }
</script>

那么可将1.3 改编为下面代码

//1.3
<script type="text/javascript">
  //条件语句:切记,永远是在多种情况下,选择一个分支去执行的。
  var score = prompt("请你输入一个分数");
  //四个分支
  if(score < 60){
    //分支1:分数小于60分
  	alert("补考吧哈哈哈");
  }else if(score < 70){
  	//分支2:else这个关键字是有暗含条件,对于上面分支进行否定
  	alert("及格喽!!");
  }else if(score < 80){
  	//分支3:else这个关键字是有暗含条件,对于上面分支进行否定
  	//暗含条件:分数一定是大于等于70
  	//完成条件:分数大于等于70且小于80
  	alert("不错嘛!!");
  }else{
  	//分支4:else这个关键字是有暗含条件,对于上面分支进行否定
  	//暗含条件:分数大于等于80
  	alert("你真厉害!!")
  }
</script>
/********************************************************/
//2
<script type="text/javascript">
   //用户输入进来他的分数
   var score = prompt('请你输入你的分数');
   switch(true){
   	    case score < 60:
   	      alert("补考吧哈哈哈");
   	    break;
   	    case  score < 70:
   	      alert('及格喽!!');
   	    break;
   	    case score <80:
   	      alert('不错嘛!!');
   	    break;
   	    default:
   	    //暗含条件:分数大于等于80
   	    alert('你真厉害!!');
   	    break;
   }
</script>

3 for循环语句

基本使用

  for(var i = 0; i <6 ;i++){
    console.log("人生苦短,我爱前端!!");
  }
  1. var i = 0部分【循环语句第一步】:经常用来声明一个或者多个变量,一般情况下都是有初始值的。(循环语句第一步只是执行一次)
  2. i <5部分【循环语句第二步】:经常用来进行条件判断(需要的是布尔值),如果条件为真,会执行循环语句第三步、第四步。如果条件为假的,立即终止循环语句。
  3. {}部分【循环语句第三步】:也称之为循环语句,循环体。这里面经常书写大量重复性的代码。
  4. i++部分【循环语句第四步】:经常用来给第一步声明的变量进行重新赋值。

for循环语句其他书写方式

第一种方式:

 for(var m = 1000; ;m++){

       console.log(123);

  }
  1. 不建议这么书写,因为循环语句第二步没有书写判断条件,默认数值为布尔值真
  2. 这样会导致循环语句出现‘死循环’.

第二种方式:

 for(var k = 5; k < 10; k+=3){

      console.log(k);//5、8

  }
  1. 循环语句第四步:经常给变量进行重新赋值,这步当中可以使用任意赋值运算符。

第三种方式:

  for(var j = 3; j < 20; j *= 3){

      console.log(j);//3、9

  }

第四种方式:

  for(var k = 1 , t = 9; k + t < 20; t+=5){

        console.log(t);

  }
  1. 循环语句第一步:可以声明一个、多个变量【循环语句第一步:只是执行一次即可】

 穷举思想

我们可以将题目的全部的情况一一验证,根据题目要求将符合条件的情况作为结果输出。

 在JS当中实现原理:循环语句+条件语句。

举个栗子:

<script type="text/javascript">
//输出1~100之间的偶数
   for(var m = 1; m <= 100;m++){
   	     if(m % 2 == 0){
   	     	console.log(m + "是偶数");
   	     }
   }
</script>

循环语句嵌套使用

<script type="text/javascript">
  //注意:循环语句可以嵌套使用
  //外层循环
   for(var m = 1 ; m < 4; m++){
   	   //内层循环
       for(var k = 1 ; k < 4; k++){
       	   console.log('外层'+m+"内层"+ k);
       }
   }
   //外层循环语句:第一轮  m = 1 
   //内层循环语句:第一轮  k = 1,2,3 【1,1】[1,2] [1,3]
   //外层循环语句:第二轮  m = 2  
   //内层循环语句:第二轮  k = 1,2,3   [2,1] [2,2] [2,3]
   //外层循环语句:第三轮  m = 3
   //内层循环语句:第三轮 k = 1,2,3   [3,1][3,2][3,3]
   //注意:循环语句可以嵌套使用,如果出现循环语句嵌套情况,由外到内
</script>

到这里,你会编写经典程序了吗:累加器,累乘器,水仙花数字,寻找质数(文末)

4 while循环语句

基本使用

有的人称for、while循环语句,称之为“前测试循环语句”。

前测试循环语句:先进行条件判断,在执行循环体。

  1. while循环语句:小括号里面放置的是循环语句判断条件【一般需要布尔值、其他类型数据(隐式转换)、表达式】
  2. 当循环语句的判断条件为真,循环体才会执行。否则循环体不会执行。

举个栗子,再找个质数好了:

<script type="text/javascript">
    //判断1~100之间质数
   for(var num = 1 ; num <=100;num++){
     //累加器:只要遇到是数字num约数,这个变量就进行+1
     var count = 0 ;
    for(var m = 1; m <= num;m++){
    	  if(num % m == 0){
    	  	 count++;
    	  }
    }
   //判断num这个数字是不是质数
   if(count == 2){
   	 console.log(num +"是质数");
   }
}
</script>

编写经典程序

<script type="text/javascript">
  //1 ~ 10之和
  var sum = 0;
  for(var i = 1 ; i <= 10 ; i ++){
  	  //第一轮: sum=>1
  	  //第二轮: sum=>3
  	  //第三轮: sum=>6
  	   sum += i;
  }
  console.log(sum);
/*************************************/
  //1 ~ 10乘积之和
  //累乘器
  var sum = 1;
  for(var k = 1; k <=10 ; k+=1){
  	  sum = sum * k;
  }
  console.log(sum);
/*******************************************************************/
  //三位数字中水仙花数字
  //水仙花数字153  = 3^3 + 5^3 + 1^3
  for(var l = 100 ; l < 1000;l+=1){
       var ge = l %10,shi = parseInt(l/10)%10,bai = parseInt(l /100);
       //计算出当前这个数字个、十、白立方和
       var result = Math.pow(ge,3) +Math.pow(shi,3)+Math.pow(bai,3);
       if(result === l){
       	 console.log(l +"是水仙花数字");
       }
  }

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值