第八章.コントロールゲート



  • コントロールドアの種類
    条件文:条件に基づいてコードブロックを実行する
    逆アセンブリ:条件に基づいてコードブロックを繰り返し実行する
    -->上から順に実行するコードの実行フローを制御します.

  • ブロックドア
    -->実行単位であり、独自の終端性を有し、セミコロンXを使用する

  • 条件文
    -->与えられた条件式の評価結果に基づいて、コードブロックの実行を決定します.
    if ...ドア
    -->論理の真偽に基づいて実行するコードブロックを決定
         trueの場合:if文コードブロックを実行
         falseの場合:else文コードブロックを実行
         else if:条件式の追加
    var num = 2;
    var kind;
    //if문
    if (num > 0) {
     kind = '양수';
    }
    //if ...else문
    if (num > 0) {
     kind = '양수';
    }
    else {
     kind = '음수';
    }
    //if ...else if 문
    if (num > 0) {
     kind = '양수';
    }
    else if (num < 0) {
     kind = '음수';
    }
    else {
     kind = 'zero';
    }
    --> if ...else文は3つの条件演算子に変換できます.(? :)
    if ...else vs三項条件演算子
    if... else:値Xとして使用され、変数に割り当てられません
    3つの条件演算子:変数に割り当てる値によって計算される式
    スイッチドア
    -->与えられた式を計算し、値を一致させるcase文
    switch (표현식) {
     case 표현식1:
       switch 문의 표현식과 표현식 1이 일치하면 실행될 문;
       break;
     case 표현식2:
       switch 문의 표현식과 표현식 2이 일치하면 실행될 문;
       break;
     default:
       switch 문의 표현식과 일치하는 case 문이 없을 때 실행될 문;
    }
    *各case文の後にbreak文を挿入する必要があります(ない場合は終了しません).
    *default文の後には通常break文は省略されます
    if ...else文vs switch文
    if ...else文:条件式はブール値
    switch文:条件式は通常文字列または数値(異なる場合に実行)です.

  • 複文
    -->条件式の評価結果が真の場合、コードブロックを実行します(条件式が偽になるまで繰り返します).
    for Moon(重要!!)
    -->条件式が偽になるまで、コードブロックを繰り返し実行します.
    for (변수 선언문 또는 할당문; 조건식; 증감식) {
     조건식이 참인 경우 반복 실행될 문;
    }
    ex)ドアの重なり(サイコロ投げ)
    for (var i = 1; i <= 6; i++) {
       for (var j = 1; j <= 6; j++) {
         if (i + j === 6) console.log(`[${i} + ${j}]`);
       }
    }
    ドア
    -->条件式の評価結果が真の場合、コードブロックの繰り返し実行
    for vs while
    for文の繰返し回数は明確である.
    while:while文の繰り返し回数が不明です.
    do ...ドア
    -->コードブロックを最初に実行し、条件式を評価します(少なくとも1回または複数実行).
    var count = 0;
    do {
     console.log(count);
     count++;
    }
    while (count < 3);

  • ドアを破る
    -->break文は、ラベル文、重複文、およびswitch文のコードブロックを終了します.
    break文は条件文では使用されません.文法が間違っています.

  • れんぞく文
    -->繰り返し文のコードブロックを現在の場所で停止し、繰り返し文の増分で実行フローを移動します(終了せず、文を実行せずにスキップします).
    ex)文字列内の特定文字の繰り返し回数を求める
    var string = 'hello world';
    var search = 'l';
    var count = 0;
    for (var i = 0; i <= string.length; i++) {
     if (string[i] !== search) continue;
     count++;
    }
    //search에 해당되지 않는 문자이면, count++를 실행하지 않고 넘어간다.