js入门(4)流程控制

条件语句

if语句的基本使用

if(测试条件){
            /*语句块1*/
            /*当条件为真执行这里*/
        }else {
            /*语句块2*/
            /*当条件为假执行这里*/
        }

if elseif多条件分支

if(测试条件1){
            /*语句块1*/
            /*当测试条件1为真执行这里*/
        }else if(测试条件2){
            /*语句块2*/
            /*当测试条件2为真执行这里*/
        }else if(测试条件3){
            /*语句块2*/
            /*当测试条件3为真执行这里*/
        }
        /*还可以有很多测试条件*/
        else{
            /*当所有测试条件都不符合的时候执行这里*/
        }

if语句算法题

switch语句

  • switch()中一般是一个变量名,这个变量将被分类讨论
  • case表示“情况”,它后面没有括号,直接跟一个数值,程序会依次将case后面的的值和括号内变量的值进行对比,如果相同,就执行这条语句。
  • default,如果case没有一个符合的则执行default
  • 多条case可以公用同一个语句体
        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                alert("这个月有31天");
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                alert("这个月有30天");
                break;
            case 2:
                alert("这个月有28天");
                break;
                default:("请输入这个月正常的月份");
        }

注意

  • switch语句不像if,匹配一个之后会自动跳出,而是默认后面的case都是匹配的,如果不写break就不会跳出

三元运算符

条件表达式?表达式1:表达式2

  • 条件表达式为真,执行表达式1
  • 条件表达式为假,执行表达式2

循环语句

for循环语句

        for (var i=0;i<=10;i++){
            /*首先定义一个循环变量为0
             然后判断i是否小于等于10,如果为真会执行语句,否则退出循环
             最后i++
             再去判断i是否小于等于10,循环往复*/
            console.log(i);
        }

while循环语句

  • 是一种不定范围循环
  • 事先不指定循环开始,结束的范围,只要条件满足,就会一直执行
while (测试条件){
            
        }

注意

  • 需要自己定义循环变量
  • 必须使循环测试条件趋向不成立,否则会死循环

使用场景

  • 没有限定范围的

break和continue

break

  • 立即结束循环(只用于循环)
  • 可以用于while(true)实现一个死循环
    和if,break一起用

continue

  • 只是跳过循环的某一环迭代,继续执行下一个迭代
  • 经常在for循环中使用

do while语句

  • 是一种后测试循环语句
  • 先执行循环体,在测试条件是否满足,循环体至少会执行一次
do{
            /*循环体*/
        }
        while (测试条件)

while语句算法题

随机生成两个变量dx,dy,他们均在[-4,4]区间随机取值,但要求dx和dy不能都为0

do{
            var dx=parseInt(Math.random()*9)-4;
            var dy=parseInt(Math.random()*9)-4;
        }
        while (dx===0&&dy===0)

随机生成一个2-99的数字,让用户输入这个数字,通过提示太大了和太小了,不断重复这个过程,直到用户准确猜到这个数字

    var sjs=parseInt(Math.random()*98+2);
    var min=1;
    var max=100;
    while (true){
        var n=Number(prompt('猜猜数字'+ min + '~' + max));
        if(n<=min||n>=max){
            alert('请重新输入,不在范围内');
            continue;
        }
        if (n>sjs){
            alert('太大了');
            max=n;
        }else if(n<sjs){
            alert('太小了');
            min=n;
        }else {
            alert('猜对了');
            break;
        }
    }

初识算法

  • 是指解题方案的准确而完整的描述,能够对一定规范的输入,在有限时间内获得有效输出
  • 优秀的算法的要求
    正确性
    健壮性
    可读性

累加器和累乘器

累加器题目

    var n=Number(prompt('请输入一个大于2的数字'));
    var sum=0;
    for (var i=2;i<=n;i++){
        sum+=(i+1)/i;
    }
    alert(sum);

累乘器题目

用户输入数字n,请计算n的阶乘

    var n=Number(prompt('请输入一个正整数,将自动计算累乘'));
    var cheng=1;
    for (var i=1;i<=n;i++){
        cheng *=i;
    }
    alert(cheng);

组合题目

<script>
    var x=1;
    var fenzi=1;
    var fenmu=1;
    var n=Number(prompt('请输入一个数'));
    for(var i=1;i<=n;i++){
        fenzi*=i;
        fenmu*=(2*i)+1;
        x+=fenzi/fenmu;
    }
    alert(2*x);

</script>

综合算法题目

循环的嵌套

鸡兔同笼

posted @   zongkm  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示