조건문
조건에 따라 코드의 실행 여부를 결정할 수 있습니다..
실행할 코드가 여러줄인 경우엔 중괄호를 써주어 중괄호 안에 코드를 써줍니다.
if (조건식)
{
// 조건식이 참일 경우 실행할 코드
}
실행할 코드가 한줄인 경우엔 중괄호 작성없이 사용하여도 됩니다.
if (조건식)
// 조건식이 참일 경우 실행할 코드
else문
else는 if문의 조건에 부합하지 않을 때 실행할 코드를 작성하는 조건문입니다. else문은 생략이 가능합니다.
if (조건식)
{
// 조건식이 참일 경우 실행할 코드
}
else
{
// 조건식이 거짓일 경우 실행할 코드
}
else if 문
else if 문은 if문의 조건에 부합하지 않을 때 새로운 조건으로 코드 실행여부를 판별하고 싶을 때 사용합니다.
else 는 else if 를 다 사용하고 나서 마지막에 사용합니다.
if (조건식1)
{
// 조건식1이 참일 경우 실행할 코드
}
else if (조건식2)
{
// 조건식2가 참일 경우 실행할 코드
}
else
{
// 모든 조건식이 거짓일 경우 실행할 코드
}
중첩 조건문
중첩 조건문은 하나의 조건문 안에 또 다른 조건문이 포함된 형태의 조건문입니다.
코드를 실행하는 기준을 여러개로 두고 싶을 때 사용합니다.
int itemLevel = 3; // 아이템 레벨
string itemType = "Weapon"; // 아이템 종류
if (itemType == "Weapon")
{
if (itemLevel == 1)
{
// 레벨 1 무기 효과
Console.WriteLine("공격력이 10 증가했습니다.");
}
else if (itemLevel == 2)
{
// 레벨 2 무기 효과
Console.WriteLine("공격력이 20 증가했습니다.");
}
else
{
// 그 외 무기 레벨
Console.WriteLine("잘못된 아이템 레벨입니다.");
}
}
else if (itemType == "Armor")
{
if (itemLevel == 1)
{
// 레벨 1 방어구 효과
Console.WriteLine("방어력이 10 증가했습니다.");
}
else if (itemLevel == 2)
{
// 레벨 2 방어구 효과
Console.WriteLine("방어력이 20 증가했습니다.");
}
else
{
// 그 외 방어구 레벨
Console.WriteLine("잘못된 아이템 레벨입니다.");
}
}
else
{
// 그 외 아이템 종류
Console.WriteLine("잘못된 아이템 종류입니다.");
}
위의 코드는 먼저 아이템 타입으로 분류를 1차적으로 하고 2차적으로 아이템 레벨로 분류를 한 후
알맞은 코드를 실행합니다.
Switch 문
switch case 문은 실행하였을 때 사용자가 입력된 값에 따라 다른 결과를 출력하게 하는 조건문입니다.
switch문에 입력받은 변수를 넣고 그 값에 해당하는 case의 코드를 실행시킵니다. 위에서 아래로 내려가면서 조건에 부합하는 코드들을 전부 실행시키기 때문에 break; 를 써주어 식을 빠져나가게 해줍니다.
switch (변수나 식)
{
case 값1:
// 값1이 나온 경우 실행되는 코드
break;
case 값2:
// 값2가 나온 경우 실행되는 코드
break;
// ...
default:
// 모든 case문에 해당하지 않는 경우 실행되는 코드
break;
}
삼항 연산자
코드를 간략하게 쓰고 싶을 경우 사용합니다. 조건식 뒤에 ?를 써주고 왼쪽엔 참일 때의 값 오른쪽엔 거짓일 때의 값을
입력시킵니다.
(조건식) ? 참일 경우 값 : 거짓일 경우 값;
string result = (currentExp >= requiredExp) ? "레벨업 가능" : "레벨업 불가능";
Console.WriteLine(result);
반복문
일련의 명령문을 반복하여 실행하는 제어문
for문
for문은 초기식,조건식,증감식을 사용하여 반복문을 작성합니다.
-초기식은 반복문이 시작될 때 단 한번 실행되고
-조건식은 반복문이 실행될 때 마다 평가되어 , 참인 경우 계속 반복문이 실행되게 합니다.
-증감식은 반복문이 실행될 때 마다 실행되는 식입니다.
for (초기식; 조건식; 증감식)
{
// 조건식이 참인 경우 실행되는 코드
}
일반적으로 증감연산자를 사용하여 1씩 증가시키지만
for (int i = 0; i < 10; i++)
{
Console.WriteLine(i);
}
이런식으로 2씩 증가시키는 등의 방법도 있습니다.
for (int i = 0; i < 10; i += 2 )
{
Console.WriteLine(i);
}
또한 초기식을 밖에 써주어 for문이 끝나고 나서도 변수로서 사용될 수 있게 할수도 있습니다.
int i = 0;
for (i = 0 ; i < 10 ; i++)
{
Console.WriteLine(i);
}
while 문
while 문은 for문과 비슷하게 조건이 참인 동안 반복적으로 코드를 실행하게 합니다.
while (조건식)
{
// 조건식이 참인 경우 실행되는 코드
}
for문과 while문을 비교하면
while문은 for문의 초기식 조건식 증감식이 각각 따로 떨어져있는 느낌입니다.
for (int i = 0; i < 10; i++) <-- 초기식 조건식 증감식
{
Console.WriteLine(i);
}
int i = 0; <--초기식
while (i < 10) <--조건식
{
Console.WriteLine(i);
i++; <--증감식
}
for문은 반복횟수가 직관적으로 보이고 반복조건을 한눈에 확인할 수 있어 가독성이 좋고
while문은 반복조건에 따라 조건문의 실행 횟수가 유동적이고 코드가 더 간결할 수 있다는
특징이 존재하여 상황에 맞게 사용하면 될것 같습니다.
do while 문
do while 문은 while 문과 비슷하지만 조건식을 검사하기 전에 먼저 한번은 무조건 실행하는 특징이 있습니다.
do
{
// 조건식이 참인 경우 실행되는 코드
}
while (조건식);
한번은 꼭 실행하게 한 후 그 후엔 조건에 맞게 실행하고 싶을 때 do while 문을 쓰면 되겠습니다.
foreach문
foreach 문은 배열이나 컬렉션에 대한 반복문을 작성할 때 사용합니다.
foreach (자료형 변수 in 배열 또는 컬렉션)
{
// 배열 또는 컬렉션의 모든 요소에 대해 반복적으로 실행되는 코드
}
foreach 를 사용할 때 배열이 먼저 준비되어있고
string[] inventory = { "검", "방패", "활", "화살", "물약" };
foreach (string item in inventory)
{
Console.WriteLine(item);
}
inventory의 항목들이 item 으로 들어가 후에 item이 출력될 때 항목들도 출력이 되는 것을 볼 수 있습니다.
foreach는 파이썬의 for in 배열 의 구조와 비슷한 느낌입니다. 배열을 활용하고 그 배열의 항목들을 다른 실행을 위해 옮기고 싶을 때 사용하면 좋을 듯 합니다.
중첩반복문
중첩반복문은 이름에서 유추가능하듯 여러개의 반복문을 사용하는 것을 의미합니다.
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 3; j++)
{
Console.WriteLine("i: {0}, j: {1}", i, j);
}
}
코드는 위에서 아래로 내려가기에 i 반복문이 한번 실행되면 j반복문이 3번 돌고나서야 다시
i반복문으로 돌아와 다시 반복하는 형태입니다.
for(int i =1 i<=9; i++)
{
for (int j =2 ; j <=9; j++)
{
Console.WriteLine(j+"x"+i+"="+(j*i)+ "\t");
}
Console.WriteLine();
}
처럼 이 특성을 활용하여 구구단 같은 코드도 작성이 가능합니다.
break 와 continue
break는 반복을 중지시키고 continue는 현재 반복을 중지한 후 다음 반복을 진행하는 역할을 합니다.
for (int i = 1; i <= 10; i++)
{
if (i % 3 == 0)
{
continue; // 3의 배수인 경우 다음 숫자로 넘어감
}
Console.WriteLine(i);
if (i == 7)
{
break; // 7이 출력된 이후에는 반복문을 빠져나감
}
}
'TIL' 카테고리의 다른 글
2024 09 24 TIL (0) | 2024.09.24 |
---|---|
2024 09 23 TIL (메서드) (0) | 2024.09.23 |
2024 09 19 TIL (C# 기초) (0) | 2024.09.20 |
2024 09 13 TIL (PlayerPrefs) (0) | 2024.09.13 |
2024 09 12 TIL (코루틴) (0) | 2024.09.12 |