추천, 2024

에디터의 선택

if-else와 switch 사이의 차이점

"If-else"와 "switch"둘 다 선택 문입니다. 선택 문은 조건이 "참"또는 "거짓"인지에 따라 프로그램의 흐름을 특정 문 블록으로 전송합니다. if-else 문과 switch 문 사이의 근본적인 차이점은 if-else 문은 "if 문에서 식의 평가를 기반으로 문 실행을 선택합니다"입니다. switch 문은 "키보드 명령을 기반으로 명령문의 실행을 선택합니다".

비교 차트

비교의 근거다른 경우라면스위치
기본어떤 명령문은 if 문 내부의 표현식 출력에 따라 실행됩니다.실행되는 명령문은 사용자가 결정합니다.
표현if-else 문은 다중 선택을 위해 다중 명령문을 사용합니다.switch 문은 여러 선택 항목에 대해 단일 표현식을 사용합니다.
테스트if-else 문은 논리적 표현뿐만 아니라 동등 함을 테스트합니다.스위치 테스트 문은 동등 함만을 테스트합니다.
평가if 문이 정수, 문자, 포인터 또는 부동 소수점 유형 또는 부울 유형을 평가합니다.switch 문은 문자 또는 정수 값만 평가합니다.
실행 순서명령문이 실행되거나 명령문이 실행되는 경우.switch 문은 break 문이 나타날 때까지 또는 switch 문 끝에 도달 할 때까지 하나의 case를 실행합니다.
기본 실행if 문 내부의 조건이 false이면 기본적으로 else 문이 작성되면 실행됩니다.switch 문 내부의 조건이 어떤 경우와도 일치하지 않으면, 해당 인스턴스에 대해 작성된 경우 기본 명령문이 실행됩니다.
편집 중중첩 된 if-else 문이 사용되는 경우 if-else 문을 편집하기가 어렵습니다.스위치 케이스를 쉽게 편집 할 수 있으므로 쉽게 인식 할 수 있습니다.

if-else의 정의

if-else 문은 OOP의 선택 문에 속합니다. if-else 문의 일반적인 형식은 다음과 같습니다.

 if (expression) {statement (s)} else {statement (s)} 

여기서 "if"및 "else"는 키워드이고 명령문은 단일 명령문 또는 명령문 블록이 될 수 있습니다. 표현식은 0이 아닌 값에 대해 "참"으로 평가되고 0의 경우 "거짓"으로 평가됩니다.
if 문의 표현식은 정수, 문자, 포인터, 부동 소수점을 포함 할 수 있으며 부울 유형일 수 있습니다. else 문은 if-else 문에서 선택적입니다. 표현식이 true를 반환하면 if 문 내부의 문이 실행되고 false를 반환하면 else 문 내부의 문이 실행되고 else 문이 작성되지 않은 경우 아무런 작업도 수행되지 않고 프로그램 제어가 실행됩니다 if-else 문을

한 가지 예를 통해 우리가 이해할 수있게하십시오.

 int i = 45, j = 34; if (i == 45 & j == 34) {cout << "나는 어두운 choclate를 선택한다"; 단절; case 2 : cout << "당신은 사탕을 선택합니다"; 단절; 케이스 3 : cout << "너는 사탕을 선택한다"; 단절; . . 기본 cout << "당신은 아무것도 선택하지 않습니다"; } 

여기서 "i"의 값은 어떤 경우가 실행될지를 결정합니다. 사용자가 1, 2 또는 3 이외의 "i"값을 제공하면 기본 사례가 실행됩니다.

if-else와 switch의 주요 차이점

  1. if 문 내부의 표현식은 블록 내부 또는 외부에서 블록을 실행할지 여부를 결정합니다. 반면에 switch 문 내부의 표현식은 실행할 사례를 결정합니다.
  2. 다중 선택 문에 대해 여러 개의 if 문을 가질 수 있습니다. 스위치에는 여러 선택 항목에 대해 하나의 표현식 만 있습니다.
  3. If-esle 문은 논리적 표현뿐만 아니라 동등성을 검사합니다. 반면에 스위치는 동등성 만 검사합니다.
  4. if 문은 정수, 문자, 포인터 또는 부동 소수점 유형 또는 부울 유형을 평가합니다. 반면 switch 문은 문자 또는 정수 데이터 유형 만 평가합니다.
  5. 실행 순서는 블록이 실행될 경우 명령문과 같거나 else 블록 명령문 아래의 명령문이 실행됩니다. 반면 switch 문에있는 표현식은 어떤 경우를 실행할지를 결정하고 각 case마다 break 문을 적용하지 않으면 switch 문이 끝날 때까지 실행됩니다.
  6. if 내부가 거짓 인 경우 else 블록 내의 statement가 실행됩니다. switch 문 내부의 expression이 false가되면 default 문이 실행됩니다.
  7. if-else 문은 수정이 필요한 곳을 추적하기가 번거롭기 때문에 편집하기가 어렵습니다. 반면에 switch 문을 쉽게 편집 할 수 있으므로 쉽게 추적 할 수 있습니다.

결론:

switch 문은 다른 명령문에 대해 별도의 사례를 작성 했으므로 편집하기 쉽습니다. 반면에 중첩 된 if-else 문에서는 편집 할 명령문을 식별하기가 어려워집니다.

Top