Console.WriteLine(); 의 소괄호 안에 연산이 있으면 계산 후 표기한다.
Console.WriteLine(5 + 2); // 더하기(7)
Console.WriteLine(5 - 2); // 빼기(3)
Console.WriteLine(5 * 2); // 곱하기(10)
Console.WriteLine(5 / 2); // 나누기(2)
Console.WriteLine(5 % 2); // 나머지를 출력(1)
나누기(/)의 주의 사항: 정수와 정수를 소수점 없이 몫만 출력한다.
Console.WriteLine(5.0 % 2.0); // double
Console.WriteLine(5f % 2f); // float
Console.WriteLine(5/2f);
Console.WriteLine(5f/2);
위의 형태처럼 하나라도 실수형이 포함되면 소수점 이하도 출력한다.
자리 수 구하기:
Console.WriteLine(984564 % 10);Console.WriteLine(984564 / 10 % 10);Console.WriteLine(984564 / 100 % 10);이진 연산자(op)의 경우
x op= y 는 x = x op y 와 동일
x += y는 x = x + y // 덧셈 후 대입
x -= y는 x = x - y // 뺄셈 후 대입
x *= y는 x = x * y // 곱셈 후 대입
x /= y는 x = x / y // 나눗셈 후 대입
x %= y는 x = x % y // 나머지 후 대입
++ // 증가연산자: 값을 1 증가
-- // 감소연산자: 값을 1 감소
예시
level = level + 1
++level; //전위증가연산자: 값을 1 증가
level++; //후위증가연산자: 값을 1 증가
모두 같은 내용이며 -가 들어가도 된다.
level = +level; // 단항연산자(양수): 그대로 두기
level = -level; // 단항연산자(음수): 값을 반전하여 바꾸기
값을 반전하는 연산자도 있다.
문자열 보간, $
Console.WriteLine("나이를 입력해주세요: ");
string age = Console.ReadLine();
Console.WriteLine("입력하신 나이: {0}", age);
Console.WriteLine("다음 해의 나이: {0}", age + 1);
자리표시자와 보간을 통해 여러가지 방법으로 표현할 수 있다.
Console.WriteLine("정수 더하기 {0}", 20 + 1); // 21
Console.WriteLine("문자열 더하기 {0}", "20" + 1); // 201
Console.WriteLine("문자열의 더하기는 문자 연결하기 {0}", "김전사" + 1 + "세"); // 김전사 1세
문자열 더하기는 비효율적, 실수할 가능성 등의 이유로 잘 안쓴다. 자리표시자 혹은 보간을 많이 쓴다. 그러나 자리표시자는 같은 내용을 중복해서 쓸 때 편리할 수 있다.
int age = 1 ;
Console.WriteLine("다음년도의 나이: {0}", age + 1); // 2
Console.WriteLine($"다음년도의 나이: {age + 1}"); // 2
Console.WriteLine($"다음년도의 나이: " + age + 1); // 11 (문자열 결합 연산자)
맨 아래의 결과 값이 다른 이유는 문자열 결합 연산자(+)가 먼저 다음년도의 나이와 age를 합쳐 다음년도의 나이: 1을 만든 후에 1을 합치기 때문에 결과가 다르다.
int iValue = 0;
Console.WriteLine(iValue); // 0
Console.WriteLine(++iValue); // 1
Console.WriteLine(iValue); // 1
iValue = 0;
Console.WriteLine(iValue); // 0
Console.WriteLine(iValue++); // 0
Console.WriteLine(iValue); // 1
전위연산자는 값을 반환하기 전에 연산하고 후위연산자는 값을 반환한 후에 연산한다.
Console.WriteLine("나이 입력: ");
int age = Console.ReadLine();
string age = Console.ReadLine();
string age;
age = Console.ReadLine();
int intAge;
intAge = int.Parse(age);
intAge = intAge + 1;
Console.WriteLine(intAge);
int.Parse, float.Parse, bool.Parse,short.Parse 등 자료형.Parse 하면 숫자로 변환int.TryParse("변환하려는 문자열", out b); // b는 변환된 값을 저장할 출력 변수
Console.WriteLine("잔고를 입력해주세요: ");
string input = Console.ReadLine();
int gold;
bool success = int.TryParse(input, out gold);
Console.WriteLine("입력의 유효 여부: {0}", success);
Console.WriteLine("입력하신 잔고: {0}", gold);
Console.WriteLine("만원 입금 후 잔고 : {0}", gold + 10000);
float dividedNum;
dividedNum = 2 / 5;
Console.WriteLine(dividedNum); // 0
float dividedNum;
dividedNum = 2.0f / 5.0;
Console.WriteLine(dividedNum); // 0.4
int award = 9;
int partyMember = 4;
float dividedMoney = (float)award / partyMember;
Console.WriteLine(dividedMoney);
float distance = 9.8f;
int partyMember = 4;
Console.WriteLine((int)distance / partyMember);
float distance = 9.8f;
int partyMember = 4;
Console.WriteLine((int) distance / partyMember); // 2
float distance = 9.8f;
int partyMember = 4;
Console.WriteLine((int)(distance / partyMember)); // 2
Console.WriteLine(1.1f + 0.3f); // 1.4000001
if(여기 내용이 참일 경우)
{
여기 중괄호 내용을 실행한다
}
조건문 if 는 위와 같은 형식으로 사용한다.
예시
int hp = 100;
int damage;
string input = Console.ReadLine();
damage = int.Parse(input);
bool alive = hp > damage;
if (alive)
{
Console.WriteLine("살아남았다!");
}
Console.WriteLine("끝");
int exp = 150;
int level = 1;
if (exp >= 100)
{
level++;
Console.WriteLine("레벨 업!");
exp -= 100;
}
Console.WriteLine("레벨: {0}", level);
Console.WriteLine("경험치: {0}", exp);
Console.WriteLine("끝");
//컴퓨터: 가위
Console.Write("가위 바위 보!: ");
string playerChoice = Console.ReadLine();
if (playerChoice == "바위")
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("이겼습니다!");
Console.ResetColor();
}
else if (playerChoice == "가위")
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("비겼습니다!");
Console.ResetColor();
}
else if (playerChoice == "보")
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("졌습니다!");
Console.ResetColor();
}
else
{
Console.WriteLine("잘못 입력했습니다.");
}
int score = 82;
if (score >= 0)
{
Console.WriteLine("브론즈입니다");
}
else if (score >= 80)
{
Console.WriteLine("실버입니다");
}
else if (score >= 90)
{
Console.WriteLine("골드입니다");
}
실버입니다가 출력되어야 하나 순서가 달라 브론즈입니다가 출력된다. 순서에 유의하자.| 연산자 | 설명 | 예시 |
|---|---|---|
| == | 두 값이 같음 | 5 == 5 → true |
| != | 두 값이 다름 | 5 != 3 → true |
| > | 왼쪽 값이 큼 | 5 > 3 → true |
| < | 왼쪽 값이 작음 | 3 < 5 → true |
| >= | 왼쪽 값이 크거나 같음 | 5 >= 5 → true |
| <= | 왼쪽 값이 작거나 같음 | 3 <= 5 → true |
| 연산자 | 설명 | 예시 |
|---|---|---|
| && | AND: 두 조건이 모두 참일 때만 참 | true && false → false |
| || | OR: 두 조건 중 하나라도 참이면 참 | true || false → true |
| ! | NOT: 조건이 참이면 거짓으로, 거짓이면 참으로 변환 | !true → false |
| ^ | XOR: 두 조건이 서로 다를 때만 참 | true ^ false → true |
int value = 1;
switch (value)
{
case 1:
Console.WriteLine("1입니다");
break;
case 2:
Console.WriteLine("2입니다");
break;
case 3:
Console.WriteLine("3입니다");
break;
default:
Console.WriteLine("1,2,3 어느 것도 아닙니다");
break;
}
char key = 'a';
switch (key)
{
case 'w':
Console.WriteLine("위쪽으로 이동");
break;
case 'a':
Console.WriteLine("왼쪽으로 이동");
break;
case 's':
Console.WriteLine("아래쪽으로 이동");
break;
case 'd':
Console.WriteLine("오른쪽으로 이동");
break;
}
out
Console.ForegroundColor = ConsoleColor.Red: 출력되는 글자 색 변환
Console.ResetColor(): 출력되는 글자 색 초기화
string input;
input = Console.ReadLine(); // 내용 입력
Console.WriteLine(input); // 입력한 내용 출력
콘솔에서 출력은 WriteLine 이었다면 입력은 ReadLine(엔터 칠 때까지의 내용을 입력받음)이다.
#region, 끝나는 부분에 #endregion 써서 접어둘 수 있음#region을 쓰면 헷갈릴 수 있음, 그러면 #region 변수 이런 식으로 쓰면 변수만 표시됨.