自增自减符、while循环、do while循环、for循环、for循环嵌套

252 阅读3分钟

自增自减符的运算

技巧:符号在前先加减后赋值,符号在后先赋值再加减;

//var a = 3; a++; a++; var b = a+2; ++a; console.log(a);该代码输出的值为?

var a = 3;        //初始值:a=3;

a++;  //a++  自增符号在后,所以先赋值再自增,此处a=3,a自增后变成4 

 a++;   //上面a自增后变成4, 符号在前,先赋值后自增,所以此处a初值为4   自增后等于5
 
 var b = a+2;   //上面a自增变成5 ,所以此处a等于5   b=5+2
 
 ++a;   //a初值为5,自增符号在前 ,所以先自增再赋值  a=6
 
console.log(a);// 打印出a等于6

循环

循环是反复执行同一段代码的循环功能,

4. while循环:

//先判断再执行
While(判断语句){   // 判断语句为真时执行循环

    循环体;     //判断语句为真时执行的语句

    控制条件语句;   
 }
// 计算1-100的和
        var i = 1;  //定义变量  设置初始值
        var sum = 0;    //定义一个变量  用来存储1到100的和
        while (i <= 100) {
            // sum += i;
            sum = sum + i 
            i++;
            /**
             * 第一轮循环 i=1  sum=0+1  i++ =>2
             * 第二轮循环 i=2 sum=1   sum=1+2  i++ =>3
             * 第三轮循环  i=3  sum=3 sum=3+3  i++ => 4
             *     ...
            */
        }
        console.log(sum);

do while循环

//先执行再判断
do{

循环体;

控制条件语句(i++);

}while(循环条件);

用户输入密码,判断密码是否正确

var password;  //定义一个变量用于存储用输入的密码
do {
    password = prompt('请输入密码') - 0;  //将输入的密码转换为数字类型
} while (password != 12345);    
 console.log('密码正确');
do while 与 while的区别
do while是先执行后判断 , 在首次条件不满足时,会先执行一次再判断条件是否满足,如果满足则继续循环,反之则停止循环
while是先判断后执行,在首次条件不满足时不会执行循环,如果条件满足,将循环到条件不满足时为止

for循环

for(初始值; 判断语句; 控制循环语句){

循环体;

}

判断水仙花数(for循环)

//判断水仙花数(100-999): =>  例:163 = 1*1*1+6*6*6+3*3*3;
/*思路:
  1.先拿到100到999的数;
  2.再拿到三位数上的个位、十位、百位;
  3.算出百位、十位、个位的和;
  4.判断数100到999的数是否与和相等;
          
        如果相等,则是水仙花数
        不等,则不是水仙花数
*/
for(var i = 100; i < 1000;i++){     // for循环:拿到100到999的数
            var bai = parseInt(i / 100);    //拿到百位数字
            var shi = parseInt(i / 10 % 10); //拿到十位数字
            var ge = parseInt(i % 10)       //拿到个位数字

            // var sum = bai*bai*bai+shi*shi*shi+ge*ge*ge;  
            var sum = bai ** 3 + shi ** 3 + ge ** 3;  //给个位、十位、百位的和赋值 **3  为3次方
            if(sum == i){                               // 判断该数是否是水仙花数
                document.write(i+'是水仙花数'+'<br>');   // 向页面输入
            }
        }

for循环的嵌套

for(初始值1; 判断语句1; 控制循环语句1){

    for(初始值2; 判断语句2; 控制循环语句2){

        循环体;

    }

}
for(var i = 0; i < 3; i++){
                for(var j = 0; j < 3; j++){
                    console.log(1);
                }
            }

            /**
             *  两个for循环嵌套使用,循环由外到内,外面循环一次,里面的循环结束后返回外面循环,直到外面的循环结束为止;
             *  外层循环第一轮:
             *      i=0  => 符合条件
             *          内层循环第一轮:
             *              j=0  =>  符合条件  循环体执行一次
             *          内层循环第二轮:
             *              j=1  =>  符合条件   循环体执行一次
             *          内层循环第三轮:
             *              j=2  =>  符合条件   循环体执行一次
             *          内层循环第四轮轮:
             *              j=3  =>  不符合条件 判断语句中j<3 不满足条件  循环结束
             *  外层循环第二轮:
             *      i=1  => 符合条件
             *          内层循环第一轮:
             *              j=0  =>  符合条件  循环体执行一次
             *          内层循环第二轮:
             *              j=1  =>  符合条件   循环体执行一次
             *          内层循环第三轮:
             *              j=2  =>  符合条件   循环体执行一次
             *          内层循环第四轮轮:
             *              j=3  =>  不符合条件 判断语句中j<3 不满足条件  循环结束
             *  外层循环第三轮:
             *      i=2  => 符合条件
             *          内层循环第一轮:
             *              j=0  =>  符合条件  循环体执行一次
             *          内层循环第二轮:
             *              j=1  =>  符合条件   循环体执行一次
             *          内层循环第三轮:
             *              j=2  =>  符合条件   循环体执行一次
             *          内层循环第四轮轮:
             *              j=3  =>  不符合条件 判断语句中j<3 不满足条件  循环结束
             *  外层循环第三轮:
             *      i=3  => 不符合条件  判断语句中i<3 不满足条件  循环结束
            */

九九乘法表

        //2. 九九乘法表:    
        for(var i = 1; i <= 9; i++){     //列
            for(var j = 1; j <= i; j++){  //行
                document.write(j+'x'+i+'='+i*j); 
                document.write(' ');  
            }
            document.write('<br/>');
        }

九行九列*号排列

    for(var i = 0; i < 9; i++){  // 外层循环控制行
            
            for(var j = 0; j < 9; j++){  // 内层循环控制列
                document.write('*');
            }
            document.write('<br/>')    // 页面输出换行
        }
          
        //*********  外层i=1;内层i 0~8循环9次 内层循环后 向页面输出换行  当i=9时,不满足条件,跳出外层循环,直到外层循环结束;