제어문

이상민·2021년 6월 22일
0
post-thumbnail

모든 선택문/반복문의 실행 문장은 블럭{} 내에 있기 때문에 변수의 지역성 등을 생각하면서 사용해야한다

1. 선택문

1-1. if문

if (조건식1) {
    ...실행문장1...
}
else if (조건식m) {
    ...실행문장2...
}
else {
    ...실행문장3...
}
  • 순차적으로 조건식을 확인해 만족하면 해당 실행 문장을, 모두 만족하지 않는다면 else문을 실행한다.

1-2. switch문

switch () {
    case1:
        실행문장1;
        break;
    case 값m:
        실행문장m;
        break;
    default:
        실행문장 n;
}
  • 식의 결과가 값과 일치하는 case의 실행 문장을 실행한다. 없을 시 default를 실행한다
  • case 문 값은 문자, 정수, 문자열 리터럴만 사용할 수 있다

1-3. if문 vs switch문의 성능

  • if문은 branch statement기반이고, switch문은 jump statement 기반이다
  • if문은 매 분기(조건식)마다 맞는지 틀린지 확인하기 때문에 조건이 n개이면 O(n)이다
  • switch문은 값의 범위가 너무 크지 않다면 컴파일 시 jump table로 컴파일 되어 O(1)이다

2. 반복문

2-1. for문

for (초기문; 조건식; 반복 후 작업) {
    ...실행문장...
}
  • 초기값, 증감식을 for문 밖으로 뺄 수도 있고 조건식은 생략시 true로 판단돼 무한 루프를 돌게할 수 있지만... 사실 그렇게 만들면 while문을 쓰고 말지 코드 읽기만 불편하고 쓸 상황도 없을거 같아서 생략하겠다.

2-2. while문

while (조건식) {
    ...실행문장...
}
  • 실행 문장을 한번 실행하고 while문을 도는 do-while문도 있다
do {
    ...실행문장...
} while (조건식);

2-3. continue와 break

  • 반복문의 실행 문장에서 이후 실행 문장을 실행하지 않고 다음 루프로 넘어가려면 continue를 사용할 수 있다
  • 반복문의 실행 문장에서 반복문을 종료하려면 break를 사용할 수 있다.
profile
편하게 읽기 좋은 단위의 포스트를 추구하는 개발자입니다

0개의 댓글