조건문, 반복문

이정현
∙∙조회 3

20260929 조건문, 반복문

조건문의 종류

문법갈라내는 기준
if, else if, else조건식이 참인지
switch값이 무엇인지

if, else, if-else, 중첩 if 문

if는 조건이 참일 때만 해당 중괄호를 실행하고 거짓이면 건너뜀 else는 if 조건이 거짓일 떄 실행할 코드를 지정함. 둘 중 정확히 하나가 실행됨.

  • else에는 조건을 적지 않음. "그 밖의 모든 경우"를 뜻하기 때문임. else if 갈래가 셋 이상이면 else if로 조건을 이어붙임.
  • 핵심은 위에서 부터 차례로 검사하고 처음 참이 된 것 하나만 실행한 뒤 나머지는 건너뛴다는 점임. 따라서 검사 순서가 결과를 정하기 때문에 범위가 좁은 조건을 먼저 두어야 한다.

switch 문

if는 조건식이 참인지를 보지만, switch는 하나의 값이 무엇인지를 보고 갈라냄. 매개변수로는 변수, case의 값으로는 리터럴 혹은 상수가 들어온다(변수가 들어올 수 없다) switch문에 알맞는 타입

부분설명
switch (값)비교할 값, 변수나 식을 넣음
case 값:비교 대상. 콜론으로 끝남
break;이 case 처리를 끝내고 switch를 벗어남
default:어느 case에도 맞지 않을 때. 생략가능
default를 생략할 경우 어느 case에도 맞지 않는 경우에 대한 처리를 하지 않기 때문에 해당 상황 발생시 원인을 찾기 힘든 경우가 있음. 어지간 하면 default를 두는 편이 좋다.

switch 식

switch문은 실행할 코드를 고르지만, switch식은 값을 고름. 결과를 변수에 바로 담을 수 있음.

ini
변수 = 검사할 값 switch
{
    값1 => 결과1,
    값2 => 결과2,
    _ => 나머지 결과
};

  • _가 defult와 같은 역할이지만 값을 반환해야 하기 때문에 필요 없으면 안적어도 되는 defult와 달리 있는게 좋다.

if와 switch 선택 기준

  • switch문은 if문으로 모두 작성 할 수 있지만 가독성을 위해서 상황에 맞게 사용한다.

  • 분기할 기준에 따라 선택이 다름

    기준if,else ifswitch
    갈라내는 방식조건식이 참인지값이 무엇인지
    범위 조건(>= 90)알맞음여기서 다룬 상수case로는 표현하지 않음
    여러 변수를 조합한 조건알맞음여기서 다룬 상수case로는 표현하지 않음
    한 변수를 여러 상수와 비교가능하지만 길어짐알맞음
    갈래가 많을 때조건이 반복돼 길어짐짧고 표처럼 읽힘

반복문의 종류

문법알맞은 상황
for반복 횟수가 정해져 있을 때
while조건이 만족되는 동안 계속 해야 할 때
do-while조건과 무관하게 최소 한 번은 실행해야 할 때

for문

csharp
구조
for(초기식; 조건식; 증감식)
{
    // 반복할 코드
}

예시
int count = 0;

for(int i = 0; i < 100; i++)
{
    count++;
}

  • 구성요소 생략 가능
csharp
int i = 0;

for( ; i < 3;)
{
    Console.WriteLine(i);
    i++;
}

while문

csharp
구조
while(조건식)
{
    // 반복할 코드
    증감식;
}

예시
int count = 0;

while (count < 3)
{
    Console.WriteLine("안녕하세요.");
    count++;
}

do-while문

csharp
구조
do
{
    // 반복할 코드
} while (조건식);

예시
int count = 0;

do
{
    Console.WriteLine("안녕하세요.");
    count++;
} while (count < 3);