다중 반복문과 다중 조건문
저번에는 반복문과 조건문에 대해서 살펴보았습니다. 하지만, 반복문과 조건문은 따로따로 사용해야만 하는 것은 아닙니다. 반복문끼리도 겹쳐서 사용할 수 있고, 조건문도 마찬가지 입니다. 뿐만 아니라 반복문에 조건문을 넣을수도 있습니다.
한개가 아닌 여러개의 조건문과 반복문을 다루는 다중 조건문, 다중 반복문에 대해서 알아보겠습니다.
우선 다중 조건문부터 살펴보겠습니다. 다중 조건문(Multiple Conditional Statements)이란, 하나의 조건문 안에 여러 개의 조건식을 조합하여 다양한 조건을 검사하는 것을 말합니다. 보통 switch-case 문이나 if-else 문을 중첩하여 사용하는 경우에 다중 조건문을 사용합니다. 다중 조건문을 사용할 때는 코드의 가독성이 떨어지고 복잡도가 높아질 수 있으므로, 필요한 경우에 한하여 사용하는 것이 좋습니다.
예를 들어, 다음은 switch-case 문을 중첩하여 다중 조건문을 사용한 예시 코드입니다.
int number = 3;
String result;
switch (number) {
case 1:
result = "One";
break;
case 2:
result = "Two";
break;
default:
switch (number % 2) {
case 0:
result = "Even";
break;
default:
result = "Odd";
break;
}
break;
}
System.out.println(result);
위 코드에서는 switch-case 문을 중첩하여 다중 조건문을 사용하여, 입력된 숫자(number)가 1이면 "One", 2이면 "Two", 3 이상이면 짝수면 "Even", 홀수면 "Odd"라는 문자열(result)을 결정합니다. 다음은 다중 반복문에 대해 알아보겠습니다.
다중 반복문(Multiple Loops)이란, 두 개 이상의 반복문을 중첩하여 사용하는 것을 말합니다. 보통 이중 반복문, 삼중 반복문 등으로 표현합니다. 다중 반복문은 이중 반복문 이상을 사용할 경우 코드의 가독성이 떨어지고, 실행 시간이 길어질 가능성이 높아져서 주의해서 사용해야 합니다.
예를 들어, 다음은 이중 반복문을 사용하여 구구단을 출력하는 예시 코드입니다.
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
System.out.print(i + " * " + j + " = " + i*j + "\t");
}
System.out.println();
}
위 코드에서는 for 반복문을 중첩하여 이중 반복문을 사용하여, 1부터 9까지의 숫자를 하나씩 순회하며 구구단을 출력합니다. 바깥쪽 for 반복문에서는 구구단의 행을, 안쪽 for 반복문에서는 구구단의 열을 나타냅니다. 이렇게 중첩된 for 반복문을 사용하여 복잡한 계산을 수행할 수 있습니다.
다음은 조건문과 반복문을 함께 사용하여 구구단을 출력하는 예제 코드를 보겠습니다.
for (int i = 2; i <= 9; i++) // 2단부터 9단까지 반복
{
Console.WriteLine($"{i}단"); // 현재 반복 중인 단을 출력
for (int j = 1; j <= 9; j++) // 현재 단에서 1부터 9까지 반복
{
if (j == 5) // 현재 반복 중인 값이 5인 경우
{
continue; // 다음 반복으로 건너뜀
}
Console.WriteLine($"{i} * {j} = {i * j}"); // 현재 반복 중인 곱셈식을 출력
}
Console.WriteLine(); // 한 단이 끝나면 빈 줄 출력
}
위 코드에서 바깥쪽 for 반복문은 2단부터 9단까지 반복하며, 안쪽 for 반복문은 현재 단에서 1부터 9까지 반복합니다. 이때, 안쪽 for 반복문에서 if 조건문을 사용하여 현재 반복 중인 값이 5인 경우에는 건너뜁니다(continue 키워드를 사용). 따라서 5를 제외한 다른 값을 가진 곱셈식만 출력됩니다.
이렇듯 반복문과 조건문은 계속해서 다양한 방식으로 사용될 것입니다. 다음부터는 함수와 클래스에 대해서 알아보도록 하겠습니다. 감사합니다.
'게임 프로그래밍 > 게임개발 초급' 카테고리의 다른 글
게임개발 초급(7) - 함수와 클래스 (0) | 2023.04.19 |
---|---|
게임개발 초급(5) - 조건문과 반복문 (0) | 2023.04.17 |
게임개발 초급(4) - 객체지향과 접근제한자 (2) | 2023.04.16 |
게임개발 초급(3) - C# 스크립트의 구조 (2) | 2023.04.15 |
게임개발 초급(2) - 변수와 데이터 타입 (2) | 2023.04.14 |