Console.Write("숫자를 입력하세요");
string input = Console.ReadLine();
int val = int.Parse(input);
if ((val % 2) == 0)
{
Console.WriteLine("짝수");
}
else
{
Console.WriteLine( val + " 은 홀수");
Console.WriteLine("{0} 이면 홀수", val);
Console.WriteLine($"{val} 이면 홀수");
}
Console.WriteLine("아무 키나 누르면 종료");
Console.ReadKey();
변수를 표현하는 방법은 위와 같이 여려개! (1번 방식은 대형 프로젝트의 경우 지양(속도저하))
Console.Write("반복 횟수를 입력하세요 : ");
string input = Console.ReadLine();
int loop = int.Parse(input);
for(int i = 0; i<loop; i++)
{
Console.WriteLine($"{i+1} 번째 반복문");
}
Console.ReadKey();
초기값을 가지고 비교(i<1oop), 참이면 내부 코드를 실행하고 증감문 실행, 거짓이면 반복문 탈출
int rows = 5;
for (int i = rows; i >= 1; i--) // rows부터 1까지 반복
{
for (int j = 1; j <= i; j++) // i개의 별 출력
{
Console.Write("*");
}
Console.WriteLine(); // 줄바꿈
}
**출력결과**
*****
****
***
**
*
int rows = 5;
for (int i = 1; i <= rows; i++)
{
// 공백 출력
for (int j = 1; j <= rows - i; j++)
{
Console.Write(" ");
}
// 별 출력
for (int k = 1; k <= 2 * i - 1; k++) // 홀수 개의 별 출력
{
Console.Write("*");
}
Console.WriteLine();
}
**출력결과**
*
***
*****
*******
*********
for (int dan = 2; dan <= 9; ++dan)
{
for (int val = 2; val <= 9; ++val)
{
Console.WriteLine($"{dan} * {val} = {dan * val}");
}
}
반복 횟수를 정확히 모를 때 주로 사용
int i = 0;
int count = 0;
while(count < 10)
{
i += count;
count++;
}
Console.WriteLine(i);
방법1
for (int dan = 2; dan <= 9; ++dan)
{
for (int val = 2; val <= 9; ++val)
{
if (dan == 3)
{
break;
}
Console.WriteLine($"{dan} * {val} = {dan * val}");
}
}
Console.ReadKey();
방법2
for (int dan = 2; dan <= 9; ++dan)
{
if (dan == 3)
{
continue;
}
Console.WriteLine($"\n{dan} 단\n");
for (int val = 2; val <= 9; ++val)
{
Console.WriteLine($"\t{dan} * {val} = {dan * val}");
}
}
Console.ReadKey();
break : 가장 가까운 반복문(for, while, switch)을 그대로 탈출
continue : 증감문 식으로 이동(증감문 수행 후 다시 반복)
한정자 반환타입 함수이름 (매개변수) {return} 형태
static int Hap(int p_a, int p_b)
{
return p_a + p_b;
}
static void Main(string[] args)
{
Hap(1, 2);
}
함수 호출 시 매개변수에 맞게 호출

함수 이름이 같아도 매개변수의 타입이나 개수가 다르면 사용 가능
static int FN2(int p_val)
{
p_val = 20;
int a = 20;
int b = 10;
return p_val + p_val;
}
static void Main(string[] args)
{
int a = 10;
FN2(a);
Console.WriteLine(a);
}
=> 10 그대로 나옴

main 공간에 저장된 변수a 와 FN2 공간에 매개변수로 전달된 p_val 은 별개 => 출력하는 a는 그대로 10
static int RefFN( ref int p_val)
{
p_val = 30;
return p_val;
}
static void Main(string[] args)
{
int val = 10;
RefFN(ref val);
Console.Write(val);
Console.ReadKey();
}
=> 30 출력

변수 값이 아니라 변수의 주소 값이 전달됨 => val 값을 변경하면 main 의 val도 변경
static int Hap(int p_a, int p_b = 20, int p_c = 30)
{
return p_a + p_b + p_c;
}
Hap(1, 2, 3); // => 1+2+3 으로 계산
Hap(1,2); // => 1+2+30 으로 계산
동일한 함수를 여러 번 작성하지 않기 위해 한번 만든 코드를 참조하여 여러 번 사용


