728x90
반응형

// C# 조건문과 반복문
// 조건문 (Conditional Statements) 이란 ?
// 조건문은 특정 조건을 만족할 때 코드를 실행하는 제어문입니다.
// 조건문은 if, switch, 3항 연산자를 사용하여 조건을 표현합니다
// if 문은 조건식의 결과에따라 실행 여부를 결정하는 조건문입니다.
// 조건식이 참이면 if문의 블록이 실행되고, 거짓이면 실행되지 않습니다.
// if문은 if, else if, else 키워드를 사용하여 조건식을 표현합니다.
// else if문은 if문이 거짓일 때 다른 조건을 검사하는데 사용됩니다.
// else문은 if문과 else if문이 모두 거짓일 때 실행되는 블록입니다.
// if문은 중첩하여 사용할 수 있습니다.
// 중첩된 if문은 if문의 블록 내에 다른 if문을 사용하는 것을 의미합니다.
// 중첩된 if문은 if문의 블록 내에 다른 if문을 사용하여 복잡한 조건을 표현할 때 사용합니다.
// if문은 특정 조건을 만족할 때 코드를 실행할 때 사용합니다.
// if문은 특정 조건을 만족하지 않을 때 코드를 실행할 때 사용합니다.
using System;
class ConditionalStatementsAndLoops
{
public static void WhatIsIf()
{
int playerScore = 100; // 플레이어의 점수
if (playerScore > 100) // 플레이어의 점수가 100보다 큰지 검사
{
Console.WriteLine("플레이어의 점수가 100보다 큽니다."); // 플레이어의 점수가 100보다 크면 출력
}
else if (playerScore == 100) // 플레이어의 점수가 100인지 검사
{
Console.WriteLine("플레이어의 점수가 100입니다."); // 플레이어의 점수가 100이면 출력
}
else
{
Console.WriteLine("플레이어의 점수가 100보다 작습니다."); // 플레이어의 점수가 100보다 작으면 출력
}
int itemCount = 0; // 아이템의 개수
string itemName = "물약"; // 아이템의 이름
if (itemName == "물약") // 아이템의 이름이 물약인지 검사
{
if (itemCount > 0) // 아이템의 개수가 0보다 큰지 검사
{
Console.WriteLine("물약을 사용합니다."); // 아이템의 개수가 0보다 크면 출력
}
else
{
Console.WriteLine("물약이 부족합니다."); // 아이템의 개수가 0이면 출력
}
}
}
// switch문은 특정 변수의 값을 기준으로 분기하는 조건문입니다.
// switch문은 switch, case, default 키워드를 사용하여 변수의 값을 비교합니다.
// switch문은 변수의 값이 case문의 값과 일치하면 해당 case문의 블록을 실행합니다.
// default문은 case문의 값과 일치하는 값이 없을 때 실행되는 블록입니다.
// switch문은 break 키워드를 사용하여 switch문을 종료합니다.
// switch문은 if문의 다중 조건식을 간단하게 표현할 때 사용합니다.
public static void WhatIsSwitch()
{
int playerScore = 100; // 플레이어의 점수
switch (playerScore) // 플레이어의 점수에 따라 분기
{
case 100: // 플레이어의 점수가 100일 때
Console.WriteLine("플레이어의 점수가 100입니다."); // 출력
break; // switch문을 종료
case 200: // 플레이어의 점수가 200일 때
Console.WriteLine("플레이어의 점수가 200입니다."); // 출력
break; // switch문을 종료
default: // 플레이어의 점수가 100, 200이 아닐 때
Console.WriteLine("플레이어의 점수가 100, 200이 아닙니다."); // 출력
break; // switch문을 종료
}
}
// 3항 연산자 (Ternary Operator) 란 ?
// 3항 연상자는 if문을 간단하게 표현하는 연산자입니다.
// 3항 연산자는 조건식 ? 참일 때 값 : 거짓일 때 값 형태로 사용합니다.
// 3항 연산자는 if문과 else문을 한 줄로 표현할 때 사용합니다.
// 3항 연산자는 중첩하여 사용할 수 있습니다.
// 3항 연산자는 중첩된 if문을 간단하게 표현할 때 사용합니다.
// 3항 연산자는 특정 조건을 만족할 때 코드를 실행할 때 사용합니다.
public static void WhatIsTernaryOperator()
{
int playerScore = 100; // 플레이어의 점수
string result = playerScore > 100 ? "플레이어의 점수가 100보다 큽니다." : "플레이어의 점수가 100보다 작거나 같습니다.";
Console.WriteLine(result); // 플레이어의 점수에 따라 결과 출력
}
// 반복문 (Loops) 이란 ?
// 반복문은 특정 조건을 만족할 때까지 코드를 반복 실행하는 제어문입니다.
// 반복문은 for, while, do-while 키워드를 사용하여 반복 실행합니다.
// for문은 초기식, 조건식, 증감식을 사용하여 반복 실행합니다.
// while문은 조건식이 참일 때 반복 실행합니다.
// do-while문은 먼저 코드를 실행한 후 조건식을 검사하여 반복 실행합니다.
// break문은 반복문을 종료하고, continue문은 반복문의 처음으로 돌아가는 제어문입니다.
// foreach문은 배열이나 컬렉션의 요소를 반복 실행하는 제어문입니다.
public static void WhatIsLoop()
{
for (int i = 0; i < 5; i++) // 0부터 4까지 5번 반복
{
Console.WriteLine(i); // i 출력
}
int j = 0; // j 초기화
while (j < 5) // j가 5보다 작을 때 반복
{
Console.WriteLine(j); // j 출력
j++; // j 증가
}
int k = 0; // k 초기화
do // 먼저 실행한 후 조건 검사
{
Console.WriteLine(k); // k 출력
k++; // k 증가
} while (k < 5); // k가 5보다 작을 때 반복
foreach (int number in new int[] { 1, 2, 3, 4, 5 }) // 배열의 요소를 반복
{
Console.WriteLine(number); // number 출력
}
for (int i = 0; i < 5; i++) // 0부터 4까지 5번 반복
{
if (i == 3) // i가 3일 때
{
break; // 반복문 종료
}
Console.WriteLine(i); // i 출력
}
int sum = 0; // 합계 초기화
for (int i = 0; i < 5; i++) // 0부터 4까지 5번 반복
{
if (i == 3) // i가 3일 때
{
continue; // 반복문 처음으로
}
sum += i; // 합계 계산
}
}
public static void RocksScissorsPaper() // 가위바위보 게임
{
// 가위바위보
string[] choices = { "가위", "바위", "보" }; // 가위, 바위, 보 배열
string playerChoice = ""; // 플레이어의 선택
string computerChoice = choices[new Random().Next(0,3)]; // 컴퓨터의 선택
while(playerChoice != computerChoice)
{
Console.Write("가위, 바위, 보 중 하나를 선택하세요: ");
playerChoice = Console.ReadLine(); // 플레이어의 선택
if (playerChoice == computerChoice) // 플레이어와 컴퓨터의 선택이 같을 때
{
Console.WriteLine("비겼습니다."); // 비겼다고 출력
}
else if (playerChoice == "가위" && computerChoice == "바위" ||
playerChoice == "바위" && computerChoice == "보" ||
playerChoice == "보" && computerChoice == "가위") // 플레이어가 질 때
{
Console.WriteLine("컴퓨터가 이겼습니다."); // 컴퓨터가 이겼다고 출력
}
else
{
Console.WriteLine("플레이어가 이겼습니다."); // 플레이어가 이겼다고 출력
}
}
}
public static void UpAndDown() // Up & Down 게임
{
int targetNumber = new Random().Next(1, 101); // 1부터 100까지의 숫자 중 랜덤으로 선택
int guessNumber = 0; // 플레이어의 추측 숫자
int tryCount = 0; // 시도 횟수
Console.WriteLine("1부터 100까지의 숫자 중 하나를 맞춰보세요.");
while(guessNumber != targetNumber) // 플레이어의 추측 숫자와 정답 숫자가 같지 않을 때
{
Console.Write("숫자를 입력하세요: ");
guessNumber = int.Parse(Console.ReadLine()); // 플레이어의 추측 숫자
tryCount++; // 시도 횟수 증가
if (guessNumber > targetNumber) // 플레이어 추측 숫자가 정답 숫자보다 클 때
{
Console.WriteLine("Down!");
}
else if (guessNumber < targetNumber) // 플레이어 추측 숫자가 정답 숫자보다 작을 때
{
Console.WriteLine("Up!");
}
else
{
Console.WriteLine("정답입니다.");
Console.WriteLine($"시도 횟수: {tryCount}");
}
}
}
}728x90
반응형
'C#' 카테고리의 다른 글
| C# 메서드(Method)와 구조체(Structures) (0) | 2025.02.11 |
|---|---|
| C# 배열과 컬렉션 (1) | 2025.02.10 |
| C# 문자열 처리 (0) | 2025.02.10 |
| C# 연산자는 무엇인가? (0) | 2025.02.09 |
| C# 조건문과 반복문 (0) | 2025.01.31 |