javascript分支结构,循环语句

分支结构

逻辑分支就是根据我们设定好的条件来决定要不要执行某些代码

if 条件分支结构

if 语句

if(条件表达式) //条件表达式的结果最终一定是一个布尔值
语句; //条件表达式修饰后面的一条语句

// 条件为 true 的时候执行 {} 里面的代码
if (true) {
  alert('因为条件是 true,我会执行')
}

// 条件为 false 的时候不执行 {} 里面的代码
if (false) {
	alert('因为条件是 false,我不会执行')    
}

if else 语句

  • 通过 if 条件来决定,执行哪一个 {} 里面的代码

  • 语法: `if (条件) { 条件为 true 的时候执行 } else { 条件为 false 的时候执行 }

  • 两个 {} 内的代码一定有一个会执行(只执行一个

// 条件为 true 的时候,会执行 if 后面的 {} 
if (true) {
  alert('因为条件是 true,我会执行')
} else {
  alert('因为条件是 true,我不会执行')
}

// 条件为 false 的时候,会执行 else 后面的 {}
if (false) {
  alert('因为条件为 false,我不会执行')
} else {
  alert('因为条件为 false,我会执行')
}

if else if … 语句

  • 可以通过 if 和 else if 来设置多个条件进行判断

  • 语法:if (条件1) { 条件1为 true 的时候执行 } else if (条件2) { 条件2为 true 的时候执行 }

  • 会从头开始依次判断条件

  • 如果第一个条件为 true 了,那么就会执行后面的 {} 里面的内容

  • 如果第一个条件为 false,那么就会判断第二个条件,依次类推

  • 只会有一个被执行,一旦有一个条件为 true 了,后面的就不在判断了

// 第一个条件为 true,第二个条件为 false,最终会打印 “我是代码段1”
if (true) {
  alert('我是代码段1')
} else if (false) {
	alert('我是代码段2')           
}

// 第一个条件为 true,第二个条件为 true,最终会打印 “我是代码段1”
// 因为只要前面有一个条件满足了,就不会继续判断了
if (true) {
  alert('我是代码段1')
} else if (true) {
  alert('我是代码段2')
}

// 第一个条件为 false,第二个条件为 true,最终会打印 “我是代码段2”
// 只有前一个条件为 false 的时候才会继续向后判断
if (false) {
  alert('我是代码段1')
} else if (true) {
  alert('我是代码段2')
}

// 第一个条件为 false,第二个条件为 false,最终什么也不会发生
// 因为当所有条件都为 false 的时候,两个 {} 里面的代码都不会执行
if (false) {
  alert('我是代码段1')
} else if (false) {
  alert('我是代码段2')
}

if else if … else 语句

  • if else if ... 基本一致,只不过是在所有条件都不满足的时候,执行最后 else 后面的 {}
// 第一个条件为 false,第二个条件为 false,最终会打印 “我是代码段3”
// 只有前面所有的条件都不满足的时候会执行 else 后面的 {} 里面的代码
// 只要前面有一个条件满足了,那么后面的就都不会执行了
if (false) {
  alert('我是代码段1')
} else if (false) {
  alert('我是代码段2')
} else {
  alert('我是代码段3')
}

例子🌰: 输入一个数字,判断数字是否是水仙花数( 数字的个位的3次方+数字的十位的3次方 +百位的3次方 == 该数字本身 )

     var a = 153;            //输入的数值
     var ge = a % 10;           //输入数值的个位数
     var shi = parseInt(a / 10) % 10;    //输入数值的十位数
     var bai = parseInt(a / 100) % 10;   //输入数值的百位数
     var sxh = ge*ge*ge + (shi*shi*shi) + (bai*bai*bai);		//sxh表示水仙花数
     if(a==sxh){
         console.log(a+"是水仙花数")
     }else{
         console.log(a+"不是水仙花数")
     }

SWITCH 条件分支结构

  • 是对于某一个变量的判断(注意事项:绝对不要写范围,必须写常量)

  • 要判断某一个变量 等于 某一个值得时候使用

  • switch结束条件:
    1.直接执行完所有case语句
    2.遇到break则直接跳出case语句

switch (要判断的变量) {
  case 情况1:
    情况1要执行的代码
    break
  case 情况2:
    情况2要执行的代码
    break
  case 情况3:
    情况3要执行的代码
    break
  default:
    上述情况都不满足的时候执行的代码
}

例子🌰: 根据变量给出的数字显示是星期几

var week = 1								//输入数字1-7,执行case;
switch (week) {
  case 1:
    alert('星期一')
    break
  case 2:
    alert('星期二')
    break
  case 3:
    alert('星期三')
    break
  case 4:
    alert('星期四')
    break
  case 5:
    alert('星期五')
    break
  case 6:
    alert('星期六')
    break
  case 7:
    alert('星期日')
    break
  default:
    alert('请输入一个 1 ~ 7 之间的数字')
}

条件运算符

语法结构

条件表达式?语句1:语句2;

  • 如果条件表达式返回true,就执行语句1
  • 如果条件表达式返回false,就执行语句2
    例子🌰
var a = 50;
var b = 20;
var c= a > b ? alert("a大"):alert("b大");	//c是a,b中的最大值
console.log(c)

var a = 10;
var b = 20;
//获取a,b的最大值
var max =a > b ? a : b;
console.log("max = "+max); //max = 50

循环语句

  • while循环语句
    • 语法结构:
      初始化变量
      while(条件表达式){
      语句1;
      自增自减表达式;
      }

例子🌰:篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球的高度小于0.1米。


 var height = 5;
 var h,count = 0;
 while(h>0.1){
 	h*=0.3;
 	count++;
 }
 console.log(count)			//  4次

例子🌰:山上有口缸可以装50升水,现有15升,小和尚下山挑水,每次挑5升,几次把缸挑满

	var count = 0;		//次数
	var w = 50-15;		//需要打多少水
	var i = 0;			//打了多少水
	while(i<w){
		i+=5;
		count++;
	}console.log(count)			//7

  • do…while循环语句
    • 语法结构:
      do{
      循环体
      } while(条件表达式)

先执行一次在判断条件

例子🌰:求1-10的和

var sum = 0;
var i = 1;
do{
	sum+=i;
	i++;
}while(i<=10)
console.log(sum);

while和do…while的区别

  • 当首次条件成立时,两者无区别
  • 当首次条件不成立时,do…while要执行一次循环体

  • for循环语句
    • 语法结构:
      for(初始化变量;条件表达式;自加自减表达式){
      循环体;
      }

例子🌰:求1-100的偶数的和

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

例子🌰:求1000-2000年之间的闰年,并以每行5个打印出来

var count = 0;
	for (var i = 1000; i <= 2000; i++) {					//范围
		if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {	//判断闰年
			document.write(i + "&nbsp");
			count++;										//每一行的个数
			if (count % 5 == 0) {							//有五个就输出换行
				document.write("<br>")
			}
		}
	}

for循环和while循环使用的场景

  • 知道循环次数用for
  • 不知道循环次数用while
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值