1) 복습
1.1) GetType, ToString, Equals
double radius = 3.14;
Console.WriteLine("radius의 형:{0}", radius.GetType());
Console.WriteLine("radius의 값:{0}", radius.ToString());
string name = "이효리";
Console.WriteLine("name 형:{0}", name.GetType());
Console.WriteLine("name 값:{0}", name.ToString());
Console.WriteLine("radius == name : {0}", name.Equals(radius));
1.2) 형변환(암시적 형변환, 명시적 형변환)
//암시적 형변환
int intValue = 127;
long longValue = intValue;
Console.WriteLine("longValue {0}", longValue);
//명시적 형변환
int longValue = 32767;
int intValue = (int)longValue;
Console.WriteLine("intValue {0}", intValue);
1.3) 연산자
분류 | 연산자 | |
단항 | + - ! ~ ++ -- | |
산술 | 곱셈/나눗셈 덧셈/뺄셈 |
* / % + - |
시프트 | << >> | |
관계 | 비교 등가 |
< > <= => is as == != |
비트 | 비트 AND 비트 OR 비트 XOR |
& | ^ |
조건 | 조건 AND 조건 OR 조건 |
&& || ?: |
대입 | = += /= *= -= <<= >>= &= ^= |= |
//단항 연산자
bool abool = !true;
Console.WriteLine(abool);
int aint = 0xFFFF; // 0x12345678
Console.WriteLine("{0:X8}", aint);
aint = ~aint; // 한 비트에 있는 숫자를 반대로
Console.WriteLine("{0:X8}", aint);
int aint = 0x12345678;
Console.WriteLine("{0:X8}", aint);
aint = ~aint;
Console.WriteLine("{0:X8}", aint);
aint = aint >> 4;
Console.WriteLine("{0:X8}", aint);
aint = aint << 4;
Console.WriteLine("{0:X8}", aint);
byte abyte1 = 0x3F, abyte2 = 0xC1;
Console.WriteLine($"AND연산 결과 : {abyte1 & abyte2:X2}");
Console.WriteLine($" OR연산 결과 : {abyte1 | abyte2:X2}");
Console.WriteLine($"XOR연산 결과 : {abyte1 ^ abyte2:X2}");
bool abool = !true;
Console.WriteLine($"abool의 상태는 {(abool ? "참":"거짓")}입니다.");
cf. 코드블록
여러 명령문을 논리적으로 결합해야 할 때 중괄호({})를 사용하여 명령문 그룹을 만들어 표현한다. 이러한 명령문 그룹을 코드 블록(code block)이라고 한다. 코드 블록 안에는 변수를 선언할 수 있고 다른 코드 블록을 포함할 수도 있다.
1.4) 제어문
int iNum = 100;
if(iNum < 500)
{
Console.WriteLine("iNum은 500보다 작습니다.");
}
else
{
Console.WriteLine("iNum은 500보다 크거나 같습니다.");
}
int point = int.Parse(Console.ReadLine());
string result;
if (point >= 0 && point <= 100)
{
if (point > 50)
{
result = "Pass";
}
else
{
result = "Fail";
}
Console.WriteLine("결과 : " + result);
}
else
{
Console.WriteLine("에러 : 범위를 벗어났습니다.");
}