【JS】Day03

博客主要围绕循环结构展开学习,涵盖循环思想、语法、应用、区别等内容,还提及无限循环以及流程控制的关键字,为信息技术领域中编程循环相关知识的学习总结。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习内容

  • 循环结构,循环思想
  • 循环语法
  • 循环应用
  • 循环的区别
  • 无限循环
  • 流程控制的关键字

循环结构,循环思想

循环结构: 满足一定条件,重复执行一个动作或一段代码。
循环思想: 三要素
1.从哪里开始
2.到哪里结束
3.步长(步进)

循环语法

实现循环的语句:
while
do while
for

当型循环: 先看条件再做
循环初值;
while(循环条件){
 语句组;
 步长;
}

直到型循环: 先做再看条件
循环初值;
do{
    语句组;
    步长;
}while(循环条件);

多功能循环: 只有 for 里面是分号隔开
for(循环初值;循环条件;步长){
    语句组;
}

循环应用

// 到:指到什么什么前面,不包含目标位置。
//输出10个HelloWorld
/*
    输出: alert()  document.write()  console.log()
    10个:一个一个输出,在重复输出,使用循环,三要素(从1开始,到11结束,++)
    输出什么? HelloWorld
*/
//while

var i = 1;
while(i < 5){
    console.log('HelloWorld');
    i ++;
}

//do while
var i = 1;
do{
    console.log('HelloWorld');
    i ++;
}while(i < 11);

//for
for(var i = 1;i < 11;i ++){
    console.log('HelloWorld');
}

//输出1~100的奇数
/*
    输出
    1~100 : i = 1;i < 101;i ++
    判断奇偶?  i % 2
*/
//准备一个变量,用于存储结果
var str = '';
var i = 1;
while(i < 101){
    if(i % 2){
        str += i + ' '; // '' + 1 + ' ' + 3 + ' ' + 5
        //'1 3 5 ……'
    }
    i ++;
}
document.write(str);

i = 1;
str = ''; //清空变量

do{
    str += i + ' ';
    i += 2;
}while(i < 101);
document.write('<br>' + str);

for(var i = 1,str = '';i < 101;i ++){
    if(i % 2){
        str += i + ' ';
    }
}
document.write('<br>' + str);

//输出m~n的整数
/*
    输出 -- 重复 --循环
    m~n 
    m , n 接收用户输入  prompt   parseInt
    判断 m 是否大于n
    if(m > n){
        i = m;i >= n;i --
    }else{
        i = m ; i <= n;i ++
    }
        
*/
var m = parseInt(prompt('请输入一个整数:'));
var n  = parseInt(prompt('请输入一个整数:'));
var str = '';
if(m > n){
    for(var i = m;i >= n;i --){
        str += i + ' ';
    }
}else{
    for(var i = m;i <= n;i ++){
        str += i + ' ';
    }
}
document.write(str);

//求5!(阶乘:从1 乘到它本身)
// 1 * 2 * 3 * 4 * 5
/*
    乘  重复  循环
    i = 1  i < 6   i ++
    *=
*/
for(var i = 1,fac = 1;i < 6;i ++){
    fac *= i; //1 * 1 * 2 * 3 * 4 * 5
}
alert(fac);

//解决猴子吃桃的问题(有一只猴子,还有一堆桃子,第一天的时候,吃了一堆桃子中的一半,没忍住,又多吃了一个;第二天的时候,又吃了剩下桃子中的一半,没忍住,又多吃了一个,以后每天如此,直到第10天的时候,只剩下了一个桃子,问第一天的时候有多少个桃子)
/*
    1. 第10天,1
    var sum = 1;
    2. 每天怎么吃? (sum + 1) * 2
    3. 第9天:  (sum + 1) * 2 = 4
    4. 第8天:  (sum + 1) * 2 = 10
    ……
    第1 天:  1534

    循环: sum = 1,i = 9; i > 0; i --
            sum = (sum + 1) * 2
*/
for(var sum = 1,day = 9;day > 0;day --){
    sum = (sum + 1) * 2;
}
alert(sum);

//求1+2+3+……+100的和
/*
重复 +  循环
i = 1;i < 101;i ++
+=
*/
for(var sum = 0,i = 1;i < 101;i ++){
    sum += i;
}
alert(sum);

//输出1-100中(7的倍数和带7的数除外)的数。
/*
    1-100  i = 1;i < 101;i ++
    7的倍数和带7的数除外
7的倍数             十位为7的数           个数为7的数
!(i % 7 === 0 ||  parseInt(i / 10) === 7 || i % 10 === 7)
7的倍数             十位为7的数           个数为7的数
i % 7 && parseInt(i / 10) !== 7 && i % 10 !== 7
*/
for(var str = '',i = 1;i < 101;i ++){
    if(!(i % 7 === 0 ||  parseInt(i / 10) === 7 || i % 10 === 7)){
        str += i + ' ';
    }
}
document.write(str);

//输出m至n的自然数中的偶数和与奇数和并统计偶数与奇数的个数分别是多少?
/*
    m至n 问用户要? prompt()  parseInt()
    不知道谁大谁小?不能确定循环条件
    确保m 小于n
    如果m 大于n 交换位置
    i = m;i <= n;i ++
    if(i % 2){}else{}
    偶数和
    奇数和
    偶数数量
    奇数数量
*/
var m = parseInt(prompt('请输入一个整数:'));
var n = parseInt(prompt('请输入一个整数:'));
// 偶数和
var even_sum = 0;
// 奇数和
var odd_sum = 0;
// 偶数数量
var even_count = 0;
// 奇数数量
var odd_count = 0;
//确保m < n
if(m > n){
    //交换
    var t = m;
    m = n;
    n = t;
}
for(var i = m;i <= n;i ++){
    if(i % 2){
        //true,说明是奇数
        odd_sum += i;
        odd_count ++;
    }else{
        //false,说明是偶数
        even_sum += i;
        even_count ++;
    }
}
console.log('奇数和:' + odd_sum + '\n奇数数量:' + odd_count + '\n偶数和:' + even_sum + '\n偶数数量:' + even_count);

//入职薪水10K,每年涨幅5%,50年后工资多少?
/*
    sum = 10
    i = 2; i < 51;i ++
    sum += sum * 0.05
*/
for(var sum = 10,i = 2;i < 51;i ++){
    sum += sum * 0.05;
}
alert(sum.toFixed(2) + 'K');

循环的区别

/*
while
1. 当型循环,先判断条件,后执行语句
2. 当第一次循环条件为false时,while一次也不执行。
3. 一般使用在循环条件不确定时。
do while
1. 直到型循环,先执行语句,后判断条件 
2. 当第一次循环条件为false时,至少执行一次
3. 一般使用在循环条件不确定时。
for
1. 当型循环,先判断条件,后执行语句
2. 当第一次循环条件为false时,for一次也不执行。
3. 一般使用在循环条件确定时。
*/

var i = 3;
while(i === 4){
i ++;
}
alert(i); //3

var j = 3;
do{
j ++;
}while(j === 4);
alert(j); //5

无限循环

无限循环 死循环:条件永远为真
while(1){}
do{}while(1);
for(;1;){}

流程控制的关键字

continue: 跳出本次循环,直接进入一下次循环。
break: 跳出循环。

while(1){
    var i = parseInt(prompt('Please input a Int:'));
    var ch = prompt('请输入一个算术运算符:');
    var j = parseInt(prompt('请输入一个整数:'));
    switch(ch){
        case '+' : alert(i + j);break;
        case '-' : alert(i - j);break;
        case '*' : alert(i * j);break;
        case '/' : alert(j === 0 ? '除数不能为零!' : (i / j).toFixed(2));break;
        case '%' : alert(j === 0 ? '除数不能为零!' : i % j);break;
        default : alert('运算符错误!');
    }
    if(prompt('y:继续 n:退出\n请选择:') == 'n'){
        break;
    }
}

/*
    1.   1111223333444
    4 个数:循环4次
        每一个数:循环4次
*/
for(var str = '',i = 1;i < 5;i ++){ //i = 1  2
    for(var j = 1;j < 5;j ++){ //循环4次
        if(i === 2 && (j === 1 || j === 2) || i === 4 && j === 1){
            continue;
        }
        str += i;  //1111223333444
    }
}
alert(str);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值