0125 雙重for循環:語法、執行思路、打印m行n列、打印倒三角形、正三角、九九乘法表、for 循環小結


1.2.1 雙重 for 循環概述

   循環嵌套是指在一個循環語句中再定義一個循環語句的語法結構,例如在for循環語句中,可以再嵌套一個for 循環,這樣的 for 循環語句我們稱之為雙重for循環。

1.2.2 雙重 for 循環語法

for (外循環的初始; 外循環的條件; 外循環的操作表達式) {
    for (內循環的初始; 內循環的條件; 內循環的操作表達式) {  
       需執行的代碼;
   }
}
  • 內層循環可以看做外層循環的循環體語句
  • 內層循環執行的順序也要遵循 for 循環的執行順序
  • 外層循環執行一次,內層循環要執行全部次數
demo:打印五行五列星星
核心邏輯:
1、內層循環負責一行打印五個星星
2、外層循環負責打印五行
var star = '';
for (var j = 1; j <= 3; j++) {
    for (var i = 1; i <= 3; i++) {
      star += '☆'
    }
    // 每次滿 5個星星 就 加一次換行
    star += '\n'
}
console.log(star);
        demo;打印n行n列的星星
        var rows = prompt('請您輸入行數:');
        var cols = prompt('請您輸入列數:');
        var str = '';
        for (var i = 1; i <= rows; i++) {
            for (var j = 1; j <= cols; j++) {
                str = str + '★';
            }
            str += '\n';
        }
        console.log(str);
        demo:打印倒三角形、正三角案例
        var str = '';
        for (var i = 1; i <= 10; i++) { // 外層循環控制行數
            for (var j = i; j <= 10; j++) { // 里層循環打印的個數不一樣  j = i
                str = str + '★';
            }
            str += '\n';
        }
        console.log(str);



        // 我的正三角寫法
        for (var i = 1; i <= 9; i++) {
            var s = '';
            for (var j = 1; j <= i; j++) {
                s += '★';
            }
            console.log(s);
        }

        // 我的倒三角寫法,i--
        var s = '';
        // 注意,這里是 i >= 1,不是i <= 10。
        for (var i = 10; i >= 1; i--) {
            for (var j = 1; j <= i; j++) {
                s += '★';
            }
            s += '\n';
        }
        console.log(s);

        demo:九九乘法表
        // 一共有9行,但是每行的個數不一樣,因此需要用到雙重 for 循環
        // 外層的 for 循環控制行數 i ,循環9次 ,可以打印 9 行  
        // 內層的 for 循環控制每行公式  j  
        // 核心算法:每一行 公式的個數正好和行數一致, j <= i;
        // 每行打印完畢,都需要重新換一行
        var str = '';
        for (var i = 1; i <= 9; i++) { // 外層循環控制行數
            for (var j = 1; j <= i; j++) { // 里層循環控制每一行的個數  j <= i
                // 1 × 2 = 2
                // str = str + '★';
                str += j + '×' + i + '=' + i * j + '\t';
            }
            str += '\n';
        }
        console.log(str);


        str = '';
        for (let i = 1; i < 10; i++) {
            for (let j = 1; j <= i; j++) {
                let calc = j * i;
                str += `${j}x${i}=${calc}\t`;
            }
            str += '\n'
        }
        console.log(str);


1.3.3 for 循環小結

  • for 循環可以重復執行某些相同代碼
  • for 循環可以重復執行些許不同的代碼,因為我們有計數器
  • for 循環可以重復執行某些操作,比如算術運算符加法操作
  • 隨着需求增加,雙重for循環可以做更多、更好看的效果
  • 雙重 for 循環,外層循環一次,內層 for 循環全部執行
  • for 循環是循環條件和數字直接相關的循環


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM