繰り返し文(3)


📝 breakキーワード
breakキーワードは、switch条件文または重複文から逸脱した場合に使用されるキーワードです.
whileは条件がいつも本当なので、無限に繰り返します.
  • これらの無限ループはbreakキーワードを使用して抜け出すことができる.
  • break 키워드 예제
    //진행 여부 물어보기
    <script>
        // 반복문
        for (let i = 0; true; i++) {
            alert (i + '번째 반복문입니다.')
        
        // 진행여부
        const isContinue = confirm ('계속 하시겠습니까?')
        if (!isContinue) {
            break
            }
        }
    
        // 프로그램 종료
        alert('프로그램 종료')
    </script>
    ユーザーが「OK」をクリックすると、confirm()関数はtrueに変換され、論理否定演算子でfalseに変換されます.
    逆に、「キャンセル」(Cancel)をクリックすると、breakキーが実行され、重複文が終了します.
    📝 continueキーワード
    continueキーワードは、重複文の重複操作を停止し、重複文の1つ目を返し、次の重複操作を行います.
    <script>
        // 반복문
        for (let i = 0; i < 5; i++) {
            // 현재 반복 작업을 중지하고 다음 반복 작업을 수행
            continue
            alert(i)
        }
    </script>
    上記のコードを実行すると、警告ウィンドウは出力されません.
    continueキーワードに遭遇すると、alert()関数は実行されません.
    continue 예제
    // 0부터 10까지 짝수 합 구하기
    <script>
        // 변수선언
        let output = 0
    
        // 반복문
        for (let i = 1; i <= 10; i++) {
            // 조건문
            if (i % 2 ===1 ) {
                // 홀수면 현재 반복을 중지하고 다음 반복 수행
                continue
            }
            output += i
        }
    
        // 출력
        alert (output)
    </script>
    条件文が奇数の場合、continueキーワードに遭遇し、次の繰り返し操作に直接ジャンプするため、偶数和のみが求められます.
  • breakキーワードまたはcontinueキーワードは適切に使用され、コードは簡潔に見えますが、重複文の条件式を適切に作成することも、不要な文です.
  • 📖 例
    ネストされた重複文の使用
    重複文の重複使用を중첩 반복문と呼ぶ.
    オーバーラップ複文は一般にn次元処理に用いられる.
    [1,2,3]のように1層ずつ包まれて配列され、[1,2,3],[4,5,6]のように2層に包まれて配列されており、2次元配列と呼ばれている.
    これらのn次元配列要素を決定するには、通常、繰り返し文をn回重ねる必要があります.
    直接的なアレイ処理ではなくn次元(2 Dグラフィック出力、3 Dグラフィック出力など)に設定する必要がある場合は、n回重ねて重複文を使用する必要があります.
    피라미드 만들기 1
    <script>
       // 변수 선언
       let output = ''
    
       // 중첩 반복문
       for (let i =1; i < 10; i++) {
           for (let j = 0; j < i; j++) {
               output += '*'
           }
           output += '\n'
       }
    
       // 출력
       console.log(output)
    </script>
    
    // 결과
    *
    **
    ***
    ****
    *****
    ******
    *******
    ********
    *********
    피라미드 만들기 2
    <script>
        // 변수 선언
        let output = ''
    
        // 중첩 반복문
        for (let i =1; i < 15; i++) {
            for (let j = 15; j > i; j--) {
                output += ' ' // 띄어쓰기를 꼭 포함해주어야한다!
            }
            for (let k = 0; k < 2 * i - 1; k++) {
                output += '*'
            }
            output += '\n'
        }
    
        // 출력
        console.log(output)
    </script>
    
    // 결과
                  *
                 ***
                *****
               *******
              *********
             ***********
            *************
           ***************
          *****************
         *******************
        *********************
       ***********************
      *************************
     ***************************
    *for反復文の反復変数はfor in,for of反復文とは異なりletキーワード変数として宣言する必要があります.
    質問の確認
    1부터 100까지 곱하기
    <script>
        let output = 1
        for (let i = 1; i <= 100; i++) {
            output *= i
        }
        console.log (`1~100의 숫자를 모두 곱하면, ${output}입니다.`)
    </script>
    다이아몬드 형태 만들기
    <script>
        // 변수선언
        let output = ''
        const size = 5
    
        // 반복
        for (let i = 1; i <= size; i++) {
            for (let j = size; j > i; j--) {
                output += ' '
            }
            for (let k = 0; k < 2 * i - 1; k++) {
                output += '*'
            }
            output += '\n'
        }
    
        for (let i = size -1; i > 0; i--) {
            for (let j = size; j > i; j--) {
                output += ' '
            }
            for (let k = 0; k < 2 * i - 1; k++) {
                output += '*'
            }
            output += '\n'
        }
    
        // 출력
        console.log(output)
    </script>
    
    // 결과
        *
       ***
      *****
     *******
    *********
     *******
      *****
       ***
        *