조건문, 반복문
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식은 값을 고름. 결과를 변수에 바로 담을 수 있음.
변수 = 검사할 값 switch
{
값1 => 결과1,
값2 => 결과2,
_ => 나머지 결과
};
- _가 defult와 같은 역할이지만 값을 반환해야 하기 때문에 필요 없으면 안적어도 되는 defult와 달리 있는게 좋다.
if와 switch 선택 기준
-
switch문은 if문으로 모두 작성 할 수 있지만 가독성을 위해서 상황에 맞게 사용한다.
-
분기할 기준에 따라 선택이 다름
기준 if,else ifswitch갈라내는 방식 조건식이 참인지 값이 무엇인지 범위 조건( >= 90)알맞음 여기서 다룬 상수 case로는 표현하지 않음여러 변수를 조합한 조건 알맞음 여기서 다룬 상수 case로는 표현하지 않음한 변수를 여러 상수와 비교 가능하지만 길어짐 알맞음 갈래가 많을 때 조건이 반복돼 길어짐 짧고 표처럼 읽힘
반복문의 종류
| 문법 | 알맞은 상황 |
|---|---|
for | 반복 횟수가 정해져 있을 때 |
while | 조건이 만족되는 동안 계속 해야 할 때 |
do-while | 조건과 무관하게 최소 한 번은 실행해야 할 때 |
for문
구조
for(초기식; 조건식; 증감식)
{
// 반복할 코드
}
예시
int count = 0;
for(int i = 0; i < 100; i++)
{
count++;
}
- 구성요소 생략 가능
int i = 0;
for( ; i < 3;)
{
Console.WriteLine(i);
i++;
}
while문
구조
while(조건식)
{
// 반복할 코드
증감식;
}
예시
int count = 0;
while (count < 3)
{
Console.WriteLine("안녕하세요.");
count++;
}
do-while문
구조
do
{
// 반복할 코드
} while (조건식);
예시
int count = 0;
do
{
Console.WriteLine("안녕하세요.");
count++;
} while (count < 3);



