JavaScript 基础语法循环案例练习

JavaScript 基础语法循环案例练习


前言

之前学习HTML语言属于标记语言,不用向计算机发出指令,常用于格式化和链接,标记语言是用来被读取的,是被动的。而现在学习的JavaScript则属于编程语言,包含很多逻辑性和行为能力的指令。本文记录初入JavaScript时练习编写的几个循环语句条件语句的案例。


提示:以下是本篇文章正文内容,下面案例可供参考

一、早午晚安喵喵喵

案例描述:
提示用户输入时间,判断时间
6-8点显示‘早安喵’
11-14点显示‘午安喵’
23-24点显示‘晚安喵’
其余时间显示‘喵喵喵’
超过24小时显示‘请重新输入’

<script>
	//if else 语句
    var time = prompt('请输入时间');
    if(time >= 6 && time <= 8){
        alert('早安喵');
    }else if (time >= 11 && time <= 14){
        alert('午安喵');
    }else if (time >= 23 && time <= 24){
        alert('晚安喵');
    }else if (time <= 24 ){
        alert('喵喵喵');
    }else {
        alert('请重新输入时间');
    }
</script>

二、判断奇偶数

案例描述:
提示用户输入一个数,判断其奇偶

 <script>
 	//三元表达式
	//表达式1 ? 表达式2 : 表达式3;     1为真返回2,1为假返回3
        var num = prompt('请输入一个数');
        num % 2 == 0 ? alert(num + '是偶数') : alert(num + '是奇数');
</script>

三、班长请客

案例描述:
询问用户班长有多少钱,根据金钱额度区间显示不同信息

<script>
		//if else语句
        var money = parseInt(prompt('请问班长有多少钱'));
        if (money >= 2000){
            alert('班长请大家吃西餐');
        }else if (money >= 1500){
            alert('班长请大家吃快餐');
        }else if (money >= 1000) {
            alert('班长请大家喝饮料');
        }else if (money >= 500) {
            alert('班长请大家吃棒棒糖');
        }else {
            alert('班长下次可要把钱带够哦!');
        }
</script>

四、1-100跳过个位为3的数求和

案例描述:
100以内除去个位数为三的数之和

<script>
        var sum = 0 ;
        for (var i = 1; i <= 100; i++) {
        	 //  个位数为3 = 减去3能被10 整除
            if ((i - 3) % 10 == 0) {    
                continue;  //跳过本次循环
            }
            sum += i;
        }
        alert('100以内跳过个位数为3的数的和为:' + sum);
    </script>

五、第几个能被7和3整除的数

案例描述:
提示用户输入需要第几个能被3和7整除的数

<script>
        var arr = [];   //定义一个数组存放能被整除的数
        var count = parseInt(prompt('请问你需要第几个能被3和7整除的数'));
    //方法一    //缺点,只能找到1000以内的数
         for ( var i = 0; i <= 1000; i++ ) {
             if (i % 3 == 0 && i % 7 == 0) {
                arr[arr.length] = i; 
             }  
         }
         //打印索引为count-1的数即第count个数
          console.log(arr[count-1]);  

	//方法二
        var i = 0;
         while (arr.length !== count) {
             if (i % 3 == 0 && i % 7 == 0) {
                 arr[arr.length] = i;
             }
             i++;
         }
        console.log(arr[count - 1]);
        alert(arr[count - 1])
        
    </script>

六、双重for循环矩形三角形

案例描述:
双重for循环打印矩形三角形

 <script>

        // 打印矩形
        var row = parseInt(prompt('请输入矩形行数'));
        var col = parseInt(prompt('请输入矩形列数'));
        var str = '';
        for (var i = 1;i <= row; i++) {
            for (var j = 1; j <= col; j++){
                str = str + '💗';
            }
            str = str + '\n';
        }
        console.log(str);
        alert(str);

        // 打印正三角
        var strr = '';
        var roww = parseInt(prompt('请输入正三角行数'));
        for (var i = 1; i <= roww; i++) {
            for (var j = 1; j <= i; j++) {
                strr += '💗';
            }
             strr += '\n';
        }
        console.log(strr);
        alert(strr);

        // 打印倒三角
        var strrr = '';
        for (var i = 1; i <= 5; i++) {
            for (var j = i; j <= 5; j++) {
                strrr += '💗';
            }
             strrr += '\n';
        }
        console.log(strrr);
        alert(strrr);
    </script>

七、九九乘法表

案例描述:
双重for循环打印九九乘法表

<script>
        var str = '';
        for (var i =1; i <=9; i++) {
            for (var j = 1; j <= i; j++) {
                // 2 x 4 = 8   列数 x 行数 =(列乘行计算后的数)加tab空格
                str += j + 'x' + i + '=' + i * j + '\t';
            }
            // 一行循环完后加换行符
            str += '\n';
        }
        console.log(str);
        alert(str);
    </script>

八、ATM机

案例描述:
模拟ATM机操作
预存余额100元
提示用户选择操作,执行后显示余额

var money = 100;
     
        do{
            var caozuo = parseInt(prompt('请输入您要的操作: \n 1、存钱 \n 2、取钱 \n3、显示余额 \n4、退出'));
        switch (caozuo) {
            case 1 :
                var cunru = parseInt(prompt('请输入你要存入的金额:'));
                money = money + cunru
                alert('当前余额为'+ money );
                break;
            case 2 :
                var quchu = parseInt(prompt('请输入你要取出的金额'));
                money = money - quchu
                alert('当前余额为'+ money );
                break;
            case 3 :
                alert('你当前的余额为'+ money);
                break;
            case 4 :
                // alert('您已退出!');
                break;
            default :
                alert('无此操作,请重新选择');
        }

        } while( caozuo !== 4);
        alert('你已退出');

    </script>

九、冒泡排序

案例描述:
将数组中的数按照从大到小的顺序排列

 <script>
        // 冒泡排序
        var arr = [5,2,4,3,1];
        //外层循环管趟数
        for (var i = 0; i <= arr.length - 1; i++) {   
            // 里面的循环管每一趟的交换次数 
            for (var j = 0; j <= arr.length - i - 1; j++){
                // 内部交换2个变量的值 前一个和后一个数组元素相比较
                if (arr[j] < arr[j+1]) {
                    // 定义一个空变量用来辅助交换位置
                    var temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        console.log(arr);     
    </script>

总结

以上是利用条件语句及循环语句编写的小案例练习。虽然循环语句书写简单,但编写时的逻辑性很强,一个案例可以有多种实现方法,还需要多看案例,积累算法经验,找到最适合的算法。
加油加油!

加油玉桂狗!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值