namespace CSharp
{
internal class Program
{
static void Main(string[] args)
{
//while (true)
//{
// break;
//}
// for
//for (int i = 0; i < 10; i++)
//{
// // 특정 조건을 만나면 {}안을 나가고 싶을 경우의 키워드
// break;
//}
// 소수 판별기
// 소수 1과 자기 자신으로만 나뉘는 수
int num = 97;
bool isPrime = true;
for (int i = 2; i < num; i++)
{
if((num % i) == 0)
{
isPrime = false;
break; // for문이나 while문 등의 특정 키워드를 빠져나감
// if를 빠져나가는 개념이 아님
}
}
if (isPrime)
{
Console.WriteLine("소수입니다.");
}
else
{
Console.WriteLine("소수가 아닙니다");
}
// continue
// 넘어가 달라는 의미가 강함
// 가독성 측면에서 좋아짐
for (int i = 0; i < 100; i++)
{
if((i % 3) !=0)
{
continue;
}
Console.WriteLine($"3으로 나뉘는 숫자 발견 : {i}");
}
}
}
}
이 코드는 두 가지 중요한 제어문인 break와 continue의 사용 예시를 보여줍니다.
예제에서는 소수 판별기와 3으로 나누어 떨어지는 숫자 찾기 두 가지 사례로 각각의 제어문의 사용법을 보여줍니다.
int num = 97;
bool isPrime = true;
for (int i = 2; i < num; i++)
{
if ((num % i) == 0)
{
isPrime = false;
break; // 반복문 내에서 조건을 만족하면 즉시 for문 전체를 종료
}
}
if (isPrime)
{
Console.WriteLine("소수입니다.");
}
else
{
Console.WriteLine("소수가 아닙니다");
}
변수 초기화:
num 변수는 97로 초기화되어 소수인지 판별할 대상 숫자를 나타냅니다.isPrime 변수는 처음에 true로 설정되며, 만약 97이 1과 자기 자신 이외의 다른 수로 나누어 떨어지면 false로 변경됩니다.for문 (반복문):
i = 2부터 i < num까지(즉, 2부터 96까지) 진행됩니다.if문과 break:
if ((num % i) == 0) 구문은 현재 숫자 i가 97을 나누었을 때 나머지가 0인지를 확인합니다.i가 97의 약수라면 isPrime을 false로 변경합니다.결과 출력:
isPrime 값에 따라 97이 소수인지 여부를 출력합니다.true인 경우 "소수입니다."를, false인 경우 "소수가 아닙니다"를 출력합니다.for (int i = 0; i < 100; i++)
{
if ((i % 3) != 0)
{
continue; // 3으로 나누어 떨어지지 않는 경우, 나머지 코드를 건너뛰고 다음 반복으로 진행
}
Console.WriteLine($"3으로 나뉘는 숫자 발견 : {i}");
}
반복문 설정:
i = 0부터 i < 100까지(즉, 0부터 99까지) 수행됩니다.if문과 continue:
if ((i % 3) != 0) 조건문은 현재 숫자 i가 3으로 나누어 떨어지지 않는지를 판단합니다.출력문:
i가 3으로 나누어 떨어진다면 if 조건이 거짓이 되어 continue가 실행되지 않고, Console.WriteLine이 호출되어 해당 숫자가 출력됩니다.break:
continue: