JS入门到精通详解(2)

选择结构

用于判断给定的条件,根据条件的结果来选择执行不同的语句段。

实现选择结构的语句

  1. 三元运算符

  1. if

  1. switch

三元(目)运算符

条件?语句:语句

规则:如果条件为真,则执行?后面的语句。
如果条件为假,则执行:后面的语句。

练习

  • 求一个三位数的和

只要一个三位的正整数,这个数我不知道?向用户要

prompt(’提示语句‘,’默认值‘)输入框

求和:

设:123

123/100 1.23 parseInt()1

123%100 23/10 2.3 parseInt()2

123%10 3

//1. 准备一个变量,接收一个三位的正整数

var i = prompt('请输入一个三位的正整数:');

//2. 分解三位数

var h = parseInt( i / 100 );

var t = parseInt( i % 100 / 10);

var a = i % 10;

//3. 求和

var sum = h + t + a;

//4. 输出结果

alert(i + '这个整数的和是:' + sum);

  • 判断一个年份是闰年还是平年

  • 判断一个数是偶数还是奇数

  • 判断一个数是正数还是负数

if 分支语句

单分支选择语句

if(条件){
    语句组;
}
流程:当程序执行到if时,先计算表达式的值,如果值为true,则执行后面大括号中的语句;如果值为false时,执行if语句后面的其它语句

练习

  • 根据成绩判断是否发放清华大学的通知书?

  • 输入任意两个数,然后交换位置输出(如:a=4,b=5输出a=5,b=4)

  • 输入任意三个数,由大到小输出

双分支选择语句

if(条件){
    语句组;
}else{
    语句组;
}
流程:当程序执行到if时,先计算表达式的值,值为true时:执行if后面语句组;值为false时,执行else后的语句组。

练习

  • 求两个数中的最大值?

  • 求三个数的最大值?

  • 输入一个成绩,判断是升班还是重修

多分支选择语句

if(条件1){
    语句组1;
}else if(条件2){
    语句组2;
}
……
}else if(条件n){
    语句组n;
}else{
    语句组n + 1;
}
流程:当程序执行到if时,先判断条件1的值,值为true时,执行语句组1;值为false时,再判断条件2的值,值为true时,执行语句组2;值为false时,再判断条件3的值,依此类推,直到判断条件n的值,值为true时,执行语句组n,值为false时,执行语句组n+1;

练习

  • 任意输入一个数字,判断是星期几?

  • 判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)

  • 设计一个具有+、-、*、/、%的简单计算器

switch 分支语句

switch(表达式){
    case 表达式 : 语句组; [break;]
    case 表达式 : 语句组; [break;]
    ……
    case 表达式 : 语句组; [break;]
    [default : 语句组;]
}

规则:先计算switch后的表达式的值,如果这个值与 某个case后表达式的值 相同时,则执行这个case后面的语句组,如果语句组后有break,则直接跳出switch语句。如果没有break,则继续执行后面所有的语句组,直到遇到break或右大括号停止。

练习

  1. 任意输入一个数字,判断是星期几?

  1. 输入一个0-6的整数,判断哪一天是工作日,哪一天是休息日?

  1. 输入一个月份,输出这个月有多少天?

  1. 判断成绩优良中差不及格

  1. 计算某日是该年的第几天?

  1. 用switch实现简单计算器

  1. 根据血型与性别测试性格

  1. 设计一个简单的猜拳游戏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值