조건문
if else
- 기본 형태
if (조건)
{
// 괄호 안의 조건을 만족하면 아래 내용 실행
실행 내용
}
// 처음 if 문을 만족하면 아래 내용 실행 x
// 처음 if 문을 만족하지 않으면 else if 검사
else if (추가 조건1)
{
// 추가 조건1을 만족하면 아래 내용 실행
실행 내용
}
// 추가 조건1을 만족하면 아래 내용 실행 x
// 추가 조건1을 만족하지 않으면 else if 검사
else if (추가 조건2)
{
// 추가 조건2를 만족하면 아래 내용 실행
실행 내용
}
// 추가 조건2를 만족하면 아래 내용 실행 x
// 추가 조건2를 만족하지 않으면 else 내용 실행
else
{
실행 내용
}
- 위 조건들 중 조건을 만족하는 하나만 실행
int score = 50;
if (score > 90)
Console.WriteLine("A");
else if (score > 80)
Console.WriteLine("B");
else if (score > 70)
Console.WriteLine("C");
else if (score > 60)
Console.WriteLine("D");
else
Console.WriteLine("F"); // F 출력됨
- 여러 조건을 모두 체크해야하는 경우는 if를 여러번 사용
int num = 100;
if (num > 10)
Console.WriteLine("num은 10보다 크다.");
else if (num > 20)
Console.WriteLine("num은 20보다 크다."); // 실행 X
if (num > 20)
Console.WriteLine("num은 20보다 크다."); // 실행 O
switch case
- 하나의 변수를 기준으로 조건 체크
- 기본 형태
switch (조건 변수)
{
case 상수조건1:
실행내용
break;
case 상수조건2:
실행내용
break;
case 상수조건3:
실행내용
break;
}
- 상수 조건은 고정된 상수여야 함, 변수 불가능, 중복 불가
int num = 3;
switch (num)
{
case 1:
Console.WriteLine("도");
break;
case 2:
Console.WriteLine("개");
break;
case 3:
Console.WriteLine("걸"); // 여기만 실행
break;
case 4:
Console.WriteLine("윷");
break;
case 5:
Console.WriteLine("모");
break;
default:
Console.WriteLine("다시 던지기");
break;
}
switch case 와 if else
[ switch case를 쓰면 좋은 경우 ]
- 하나의 변수에 대해 많은 조건을 비교해야 할 때
[ if else를 쓰면 좋은 경우 ]
- 복잡한 조건을 사용할 때
- 특정 값이 범위에 있는지 확인할 때
- 참거짓을 판별할 때
자주하는 실수
=(등호) 대입 연산자와 == 같음 연산자는 서로 기능이 다름
조건문에 대입 연산자로 논리식을 작성하지 않도록 주의
int num = 10;
if (num = 10) // ERROR!
Console.WriteLine("num은 10입니다");
if (num == 10)
Console.WriteLine("num은 10입니다");
반복문
- 어떤 일을 여러번 반복해서 수행하게 만드는 문법
for
- 기본 형태
for (초기화식 ; 조건식 ; 변화식)
{
실행 내용
}
[ 실행 과정 ]
- 초기화식은 한번만 실행
- 조건식 검사 후 만족하면 내용 실행
- 변화식 실행
- 조건을 만족하지 않아 종료할 때 까지 반복
- 일반적인 반복문으로 많이 활용
- 반복할 범위가 정해져 있는 경우에 사용
for (int i = 1; i < 10; i++)
{
Console.Write(i);
}
// 출력 : 123456789
while
- 기본 형태
초기화식
while (조건식)
{
변화식
실행 내용
}
- 초기화식은 while 외부에서 실행
- 조건식을 만족하면 내부 내용을 실행
- 변화식은 while 내부에서 실행
- 초기화식과 변화식 없어도 실행 가능(대신에 종료 조건을 반드시 만족하는 로직 필수)
- 반복해야할 범위나 횟수가 정해져 있지 않을 때 사용
- 종료 조건이 외부 요인에 의해 결정될 때 사용
int i = 1;
while (i < 10)
{
Console.Write(i);
i++;
}
// 출력 : 123456789
do while
- while와 유사
- 조건을 체크하지 않고 while 내부 내용을 최소 한번은 실행
- 기본 형태
do
{
실행 내용
}
while (조건);
int i = 1;
do
{
Console.Write(i);
i++;
} while (i < 10);
// 출력 : 123456789
// 조건을 만족하지 않아도 반드시 1번은 수행되는 것에 주의
int j= 10;
do
{
Console.Write(j);
i++;
} while (j < 10);
// 출력 : 10
무한 루프
- 반복문에서 종료 조건이 없거나 조건을 만족하지 못해 계속 반복되는 현상
- 프로그램이 중단되므로 무한 루프가 발생하지 않도록 주의
- 반복문을 사용할 때 종료 조건 만족할 수 있는지 꼭 확인하기
- 예시)
for (int i = 0; i < 10; i--)
{
Console.WriteLine(i);
// 0부터 1씩 작아지는 수를 출력하다 종료
}
bool isSuccess = false;
while(!isSuccess)
{
Console.WriteLine("실패");
// 계속 실패를 출력하다 종료
}
한줄 쓰기
- 중괄호 사용하는 문법들은 기능이 한줄로 끝나는 경우 중괄호 생략 가능
조건 제어
break
- 실행하고 있는 구문을 종료
switch case
- 각 case 구문 종료에 break 사용
int num = 3;
switch (num)
{
case 1:
Console.WriteLine("도");
break;
case 2:
Console.WriteLine("개");
break;
case 3:
Console.WriteLine("걸"); // 여기만 실행
break;
case 4:
Console.WriteLine("윷");
break;
case 5:
Console.WriteLine("모");
break;
default:
Console.WriteLine("다시 던지기");
break;
}
for
- break가 실행되면 반복문을 종료
- 중첩 for의 경우에 가장 가까운 for의 반복만 종료
for (int i = 1; i < 5; i++)
{
if (i == 3)
break;
Console.WriteLine(i);
// 1~2까지만 반복
}
for (int i = 1; i < 5; i++)
{
for (int j = 1; j < 5; j++)
{
if (j == 3)
break;
Console.WriteLine($"i : {i}, j : {j}");
}
// i는 1~4까지 정상적으로 반복
// j는 break로 인해 1~2까지만 반복
}
1
2
i : 1, j : 1
i : 1, j : 2
i : 2, j : 1
i : 2, j : 2
i : 3, j : 1
i : 3, j : 2
i : 4, j : 1
i : 4, j : 2
continue
- 반복문에서 해당 반복을 실행하지 않고 넘기기
// 0 ~ 9사이의 짝수만 출력
for (int i = 1; i < 10; i++)
{
if (i % 2 != 0)
continue;
Console.Write(i);
// 출력 : 2468
}'내일배움캠프 > IL' 카테고리의 다른 글
| [내배캠][Unity_6기][IL] C# 추가 학습 (0) | 2024.08.31 |
|---|---|
| [내배캠][Unity_6기][IL] C# 클래스와 객체 (0) | 2024.08.31 |
| [내배캠][Unity_6기][IL] C# 함수 (0) | 2024.08.30 |
| [내배캠][Unity_6기][IL] C# 배열 (0) | 2024.08.30 |
| [내배캠][Unity_6기][IL] C# 연산자 (0) | 2024.08.30 |