スイッチドアとifドア


if
if (조건식) {
  수행문;
}

// 블럭 안에 수행문이 하나일 경우 괄호를 생략 가능하다.
if (조건식) 수행문;
条件式が真の場合、ブロック内の文が実行されます.
条件式の結果はtrueまたはfalseでなければならないので、比較演算子と論理演算子で構成されます.
if (조건식) {
  수행문 1;   // 조건식이 참일 경우 수행.
} else {
  수행문 2;   // 조건식이 거짓일 경우 수행.
}
// 조건연산자
(조건식) ? 결과1 : 결과2;
// 조건식이 참일경우 결과1, 거짓일 경우 결과2.
if-else
if (조건식 1) {
  수행문 1;   // 조건식 1이 참일 경우 수행.
} else if (조건식 2) {
  수행문 2;   // 조건식 2가 참일 경우 수행.
} else if (조건식 3) {
  수행문 3;   // 조건식 3이 참일 경우 수행.
} else {
  수행문 4;   // 조건식 1~3에 모두 해당하지 않을 경우 수행.
};
複数の条件があれば、if-else文で表すことができます.
最初の条件から、評価は、結果のある条件式に遭遇すると、対応するブロックが実行され、if-elseゲートを離れる順序で行われる.
結果に合致する条件式が1つもない場合、elseブロックの文が実行されます.else blockは省略できます.
switch
switch (조건) {
  case1: 
    수행문1;
    break;
    
  case2: 
    수행문2;
    break;
    
  case3: 
    수행문3;
    break;
    
  default:
    수행문4;
}
状況が増えれば、if-else文の代わりにswitch文を使うのが望ましい.switch文の条件式の結果値は整数(文字)または文字列でなければなりません.case文の値は重複できません.
計算条件式
  • .
  • 条件式の結果と一致するケース文に移動します.
  • の対応する文を実行します.
  • 分岐ゲートに遭遇すると、分岐ゲートを離れます.
  • break文は各ケース文領域を区別する役割を果たしている.
    break文に遭遇した場合、別のbreak文またはswitch文の最後に遭遇するまで操作を実行します.
    case文は、複数の場合を同時に処理する場合、break文を省略することもできます.
    条件式の結果と一致するcase文がない場合は、default文に移動します.(ifゲートのelseブロックに似ています.)
    switchとif elseではどちらを使うべきですか?switchゲートは、入力された変数が予め設定された値と一致するか否かに応じてswitchゲート内の制御フローを決定する.if else文はboolean結果値を与える条件文に基づいてtrueとfalseの2つのストリーム(controlflow)に分けられる.if elseゲートは重複して配置され、2つ以上の制御流を有することができる.if elseドアがすべて使用可能な場合にswitchドアが使用できるわけではありません.
    しかし、すべてのswitchゲートはif elseゲートで置換することができる.
    すなわち、1つの変数を入力し、その値に基づいて別のストリームに移動可能なコードを記述する場合、switch文とif else文の両方を使用することができる.
    どちらを使った方がいいですか?
    コードを最適化するには、if else文がswitch文よりも適切である.
    リファレンス