2주차에는 C# 기초 프로그래밍 주차이다!
새로운 팀과 함께 으쌰으쌰 공부 시작 ~.~
문자열 내에 특수한 문자를 포함시키기 위해 사용
이스케이프 시퀀스 | 설명 |
---|---|
\' | 작은 따옴표(') 삽입 |
\" | 큰 따옴표(") 삽입 |
\ | 역슬래시() 삽입 |
\n | 줄바꿈 삽입 |
\r | 현재 줄 맨 앞으로 이동 |
\t | Tab 삽입 |
\b | 백스페이스 삽입 |
예시
자료형 | .NET 데이터 타입 | 크기(바이트) | 범위 |
---|---|---|---|
int | System.Int32 | 4 | -2,147,483,648 ~ 2,147,483,647 |
long | System.Int64 | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
float | System.Single | 4 | ±1.5 × 10^-45 ~ ±3.4 × 10^38 |
double | System.Double | 8 | ±5.0 × 10^-324 ~ ±1.7 × 10^308 |
char | System.Char | 2 | 유니코드 문자 |
string | System.String | 유니코드 문자열 | |
bool | System.Boolean | 1 | true / false |
프로그램에서 직접 사용되는 상수 값. 소스 코드에 직접 기록되어 있는 값
C#에서 리터럴은 컴파일러에 의한 상수 값으로 처리되며, 변수나 상수에 할당되거나 연산에 사용
종류 | 예시 |
---|---|
정수형 | 10(int) |
0x10 (16진수 int) | |
0b10 (2진수 int) | |
10L (long) | |
10UL (Unsigned long) | |
부동소수점형 | 3.14 (double) |
3.14f (float) | |
3.14m (decimal) | |
문자형 | 'A' (char) |
'\n' (개행 문자) | |
'\u0022' (유니코드 문자) | |
문자열 | "Hello, World!" (string) |
"문자열 내 "따옴표" 사용" | |
"문자열 내 개행문자\n 사용" |
int num = 10;
float f = 3.14f;
char c = 'A';
string str = "Hello, World!";
int num1 = 0x10;
int num2 = 0b1010;
자료형 변수이름;
int num;
num = 10;
int num2 = 100;
int num1 = 10;
long num2 = (long) num1;
byte num1 = 10;
int num1 = num2;
float result = 1;
int num1 = 10;
float num2 = 3.14f;
float result = num1 + num2;
var num = 10; // int
var name = "potato"; // string
var pi = 3.141592; //double
연산자 | 설명 |
---|---|
+ | 덧셈 |
- | 뺄셈 |
* | 곱셈 |
/ | 나눗셈 |
% | 나머지 |
연산자 | 설명 |
---|---|
== | 같음 |
!= | 다름 |
> | 큼 |
< | 작음 |
>= | 크거나 같음 |
<= | 작거나 같음 |
연산자 | 설명 |
---|---|
&& | 논리곱(AND) |
|| | 논리합(OR) |
! | 논리부정(NOT) |
연산자 | 설명 |
---|---|
& (AND) | 두 비트 값이 모두 1일 때 1 반환 |
| (OR) | 두 비트 값 중 하나라도 1이면 1 반환 |
^ (XOR) | 두 비트 값이 서로 다르면 1 반환 |
~ (NOT) | 비트 값의 보수(complement)를 반환 |
<< (왼쪽 시프트) | 비트를 왼쪽으로 이동 |
>> (오른쪽 시프트) | 비트를 오른쪽으로 이동 |
int a = 0b1100; //12 (2진수)
int b = 0b1010; // 10 (2진수)
int and = a & b; // 0b1000 (8)
int or = a | b; // 0b1110 (14)
int xor = a ^ b; // 0b0110 (6)
int c = 0b1011; // 11 (2진수)
int leftShift = c << 2; // 0b101100 (44)
int rightShift = c >> 1; // 0b0101(5)
int d = 0b1100; // 12 (2진수)
int bit3 = (d >> 2) & 0b1; // 0 (3번째 비트)
d |= 0b1000; // 0b1100 | 0b1000 = 0b1100 (12)
연산자 | 예시 | 설명 |
---|---|---|
+= | 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 감소 |
문자열 생성
string str1 = "Hello, World!";
string str2 = new string('H', 5); // 문자 H 5개로 구성된 문자열 생성
연결
string str1 = "Hello";
string str2 = "World";
string str3 = str1 + str2;
분할
string str = "Hello, World!";
string[] words = str.Split(',');
검색
string str = "Hello, World!";
int index = str.IndexOf("World");
대체
string str = "Hello, World!";
string newStr = str.Replace("World", "Universe");
변환
// 문자열 -> 숫자
string str = "123";
int num = int.Parse(str);
// 숫자 -> 문자열
int num = 123;
string str = num.ToString();
비교
string str1 = "Hello";
string str2 = "World";
bool isEqual = str1 == str2;
// 사전상 뒤에 나올수록 큰 것
// str1 < str2 -> compare < 0
// str1 == str2 -> compare == 0
// str1 > str2 -> compare > 0
string str1 = "Apple";
string str2 = "Banana";
int compare = string.Compare(str1, str2);
포멧팅
string name = "potato";
int age = 100;
string message = string.Format("My name is {0} and I'm {1} years old.", name, age);
string message2 = $"My name is {name} and I'm {age} years old.";
실행 결과
static void Main(string[] args)
{
Console.Write("Enter your name and age: ");
string[] answer = Console.ReadLine().Split(' ');
string name = answer[0];
int age = int.Parse(answer[1]);
Console.WriteLine($"name: {name}, age: {age}");
}
static void Main(string[] args)
{
Console.Write("Enter your two numbers: ");
string[] answer = Console.ReadLine().Split(' ');
int num1 = int.Parse(answer[0]);
int num2 = int.Parse(answer[1]);
Console.WriteLine("{0} + {1} = {2}", num1, num2, num1 + num2);
Console.WriteLine("{0} - {1} = {2}", num1, num2, num1 - num2);
Console.WriteLine("{0} * {1} = {2}", num1, num2, num1 * num2);
Console.WriteLine("{0} / {1} = {2}", num1, num2, num1 / num2);
Console.WriteLine("{0} % {1} = {2}", num1, num2, num1 % num2);
}
static void Main(string[] args)
{
Console.Write("Enter Celsius degree: ");
int celcius = int.Parse(Console.ReadLine());
Console.WriteLine("Fahrenheit Degree is {0}", (celcius * 1.8) + 32);
}
static void Main(string[] args)
{
Console.Write("Enter your weight and height: ");
string[] answer = Console.ReadLine().Split(' ');
int weight = int.Parse(answer[0]);
int height = int.Parse(answer[1]);
Console.WriteLine("Your BMI is " + (weight / (height * height * 0.0001)).ToString("N2"));
}