JavaScript分支结构学习(学习日记五)

一、语句

          语句:JavaScript程序的执行单位为行(line),也就是一行一行的执行,一般情况下,每一行就是一个语句

            语句和表达式的区别:

                - 语句(statement)主要是为了进行某种操作,一般情况下是不需要返回值的

                    * 语句以分号结束,一个分号就表示一个语句结束

                    * 多个语句可以写在一行

                    * 分号前面可以没有任何内容,JavaScript引擎将其视为空语句

                - 表达式是为了得到返回值,一定会返回一个值

                    * 表达式不需要分号结尾

                    * 一旦在表达式后面添加分号,JavaScript引擎就将表达式视为语句,这样会产生一些没有任何意义的语句


var a = 1 + 3 ; var b = 'abc';//语句以分号结尾,一个分号就表示一个语句结束。多个语句可以写在一行内。

;;;//表示3个空语句。

'abc';//语句只是单纯地产生一个值,并没有任何实际的意义。

 var a = 1 + 3;// 1+3叫做表达式(expression),指一个为了得到返回值的计算式
       

二、if结构

if语句:主要是判断,先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句

            语法:

                if(表达式) {

                    代码块;

                }

// 1、如果a>b,输出对;
        var a = 30,b = 20;
        if(a > b){
            console.log('对');
        }


// 2、问某某成年了吗?       
        var user = '某某',age = 20;
        if(age >= 18){
            console.log('某某' + age + '岁成年了')
        }
        var userless = prompt("请输入你的姓名"),ages = parseInt(prompt("请输入你的年龄"));
        if(ages >= 18){
            alert(userless + ages + '岁成年了')
        }
        

三、if-else语句

if-else:两个分支,只执行一个

            语法:

                if(表达式) {

                    代码块1;

                }else {

                    代码块2;

                }

// 1、问某某成年了吗?
        var user = prompt("请输入姓名"),age = parseInt(prompt("请输入年龄"));
        console.log(typeof(user));
        if(age >= 18){
            alert(user + age + '岁成年了,可以自己负责');
        }else{
            alert(user + age + '岁未成年,不能去网吧')
        }
        
// 2、判断两个数中的最大值,把较大值输出,需要用户手动输入
        var num1 = Number(prompt()),num2 = Number(prompt());
        console.log(typeof(num1,num2));
        if(num1 > num2){
            alert('较大值是' + num1);
        }else{
            alert('较大值是' + num2);
        }
        

四、三元表达式

两个分支只执行一个,这种情况都可以用三元表达式

// 判断两个数中的最大值,把较大值输出,需要用户手动输入
        var num1 = Number(prompt('请输入一个数'));
        var num2 = Number(prompt('请输入另外一个数'));
        var result =  num1 > num2 ? num1 : num2;
        alert('较大的数是:' + result);

//或var result =  num1 > num2 ? alert('较大的数是:' + num1) : alert('较大的数是:' + num2);


// 判断成年情况
        var user = prompt("请输入姓名"),age = parseInt(prompt("请输入年龄"));
        console.log(typeof(user));
        var cn = age >= 18 ? alert(user + age + '岁成年了,可以自己负责') : alert(user + age + '岁未成年,不能去网吧');

五、if-else if-else语句

if语句:一个分支

            if-else语句:两个分支

            if-else if...-else:多个分支

            最终只会执行一个分支

            语法:

                if(条件1) {

                    条件1成立所执行的代码块1;

                }else if(条件2) {

                    条件2成立所执行的代码块2;

                }else if(条件3) {

                    条件3成立所执行的代码块3;

                }...

                else {

                    以上所有条件都不成立所执行的代码块n;

                }

// 成绩等级:<60E 60-69D 70-79C 80-89B 90-99A 100S

        var degree = Number(prompt('请输入你的分数(满分100分)'));
        if(!isNaN(degree)){
            if(degree === 100){
                alert('你的等级为:S');
            }else if(degree >= 90 && degree <= 99){
                alert('你的等级为:A');
            }else if(degree >= 80 && degree <= 89){
                alert('你的等级为:B');
            }else if(degree >= 70 && degree <= 79){
                alert('你的等级为:C');
            }else if(degree >= 60 && degree <= 69){
                alert('你的等级为:D');
            }else if(degree < 60){
                alert('你的等级为:E');
            }
        }else{
                alert('输入成绩有错!')
        }

六、switch-case

switch-case语法:

                switch(某个具体条件) {

                    case值1:

                        判断的值和值1相等,就执行的代码块1;

                        break;

                    case值2:

                        判断的值和值1相等,就执行的代码块2;

                        break;

                    case值3:

                        判断的值和值1相等,就执行的代码块3;

                        break;

                    ... ...

                    default:值都不相等的时候执行的代码块;

                }

// 已知等级,判断分数区间

        var degree = prompt('请输入你的等级(S/A/B/C/D/E)'); 
        switch(degree){
            case 'S':alert('100');
            break;
            case 'A':alert('90-99');
            break;
            case 'B':alert('80-89');
            break;
            case 'C':alert('70-79');
            break;
            case 'D':alert('60-69');
            break;
            case 'E':alert('60以下');
            break;
            default:alert('输入错误请重新输入!');
        }
        

               -  break:跳出整个语句

                - switch-case语句:多个分支,只执行一个

                -  一般对范围判断时,用if系列

                - 对具体值作判断时,用switch

七、实践作业

1.判断平年闰年

// 闰年:能被4整除,但不能被100整除;或者能被400整除(if-else)
        var year = parseInt(prompt('请输入年份'));
        if(!isNaN(year)){
            if(year % 4 == 0 && year % 100 != 100 || year % 400 == 0){
                alert(year + '是闰年');
            }else {
                alert(year + '是平年');
            }
        }else {
            alert('输入错误,请重新输入');
        }
        
        /*或者用if-else-if-else
         if(!isNaN(year)) {
            if(year % 4 == 0 && year % 100 != 0) {
                console.log(year + '是闰年');
            }else if(year % 400 == 0) {
                console.log(year + '是闰年');
            }else {
                console.log(year + '是平年');
            }
        }else {
            alert('输入错误,请输入正确年份(正整数)!')
        } */

2. 用户输入一个数,判断是奇数,还是偶数

//用户输入一个数,判断是奇数,还是偶数
        
        var num = parseInt(prompt('请输入一个整数'));
        if(!isNaN(num)){
            if(num % 2 == 0){
                alert(num + '是偶数');
            }else{
                alert(num + '是奇数');
            }
        }else{
            alert('输入错误,请重新输入!');
        } 

3. 根据用户输入的月份显示对应的天数(二月忽略平年闰年,直接输出28天)

//根据用户输入的月份显示对应的天数(二月忽略平年闰年,直接输出28天)

        var month = prompt('请输入月份');
        console.log(month);
        switch(month){
            case '1':alert(month + '月份有31天');
            break;
            case '2':alert(month + '月份有28天');
            break;
            case '3':alert(month + '月份有31天');
            break;
            case '4':alert(month + '月份有30天');
            break;
            case '5':alert(month + '月份有31天');
            break;
            case '6':alert(month + '月份有30天');
            break;
            case '7':alert(month + '月份有31天');
            break;
            case '8':alert(month + '月份有31天');
            break;
            case '9':alert(month + '月份有30天');
            break;
            case '10':alert(month + '月份有31天');
            break;
            case '11':alert(month + '月份有30天');
            break;
            case '12':alert(month + '月份有31天');
            break;
            default:alert('输入错误,请重新输入');
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.MUXIAO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值