//출력
// 줄바꿈
{
Console.WriteLine("Hello World!");
Console.WriteLine("My Name is Ju");
Console.WriteLine(10);
Console.WriteLine(3.141592);
Console.WriteLine(3 + 3);
}
// 한줄 출력
{
Console.Write("Hello! ");
Console.Write("We are Learning ");
Console.WriteLine("at TeamSparta");
}
// 입력
{
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine("Hello, {0}!", name);
}
// Split 함수 문자열 나누기 + 형변환
{
Console.Write("Enter two numbers: ");
string input = Console.ReadLine(); // "10 20"과 같은 문자열을 입력받음
// { "10", "20" }
string[] numbers = input.Split(' '); // 문자열을 공백으로 구분하여 배열로 만듦
int num1 = int.Parse(numbers[0]); // 첫 번째 값을 정수로 변환하여 저장
int num2 = int.Parse(numbers[1]); // 두 번째 값을 정수로 변환하여 저장
int sum = num1 + num2; // 두 수를 더하여 결과를 계산
Console.WriteLine("The sum of {0} and {1} is {2}.", num1, num2, sum);
}
// var 키워드
{
var num = 10; // int 자료형으로 결정됨
var name = "kero"; // string 자료형으로 결정됨
var pi = 3.141592; // double 자료형으로 결정됨
}
// 산술 연산자
{
int num1 = 20, num2 = 10;
Console.WriteLine(num1 + num2);
Console.WriteLine(num1 - num2);
Console.WriteLine(num1 / num2);
Console.WriteLine(num1 * num2);
Console.WriteLine(num1 % num2);
}
// 관계 연산자
{
int num1 = 20, num2 = 10;
Console.WriteLine(num1 == num2);
Console.WriteLine(num1 != num2);
Console.WriteLine(num1 > num2);
Console.WriteLine(num1 < num2);
Console.WriteLine(num1 >= num2);
Console.WriteLine(num1 <= num2);
}
// 논리 연산자
{
int num3 = 15;
0 <= num3 <= 20
Console.WriteLine(0 <= num3 && num3 <= 20); // 0과 20 사이에 포함되면
Console.WriteLine(0 > num3 || num3 > 20); // 0 ~ 20 사이에 포함되지 않으면
Console.WriteLine(!(0 <= num3 && num3 <= 20)); // 0과 20 사이에 포함되어있지 않으면
}
// 비트 연산자
{
int a = 0b1100; // 12 (2진수)
int b = 0b1010; // 10 (2진수)
int and = a & b; // 0b1000 (8) 두 비트 값이 모두 1일 때 1을 반환
int or = a | b; // 0b1110 (14) 두 비트 값 중 하나라도 1일 때 1을 반환
int xor = a ^ b; // 0b0110 (6) 두 비트 값이 서로 다를 때 1을 반환
int not = a; // 0b0011 비트 값의 보수(complement)를 반환
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)
}
// 연산자 우선순위
{
1.괄호(): 괄호로 감싸진 부분은 가장 높은 우선순위로 먼저 계산됩니다.
2.단항 연산자: 단항 연산자들(++, --, +, -, !등)은 괄호 다음으로 높은 우선순위를 가집니다.
3.산술 연산자: 산술 연산자들(*, /, %, +, -)은 단항 연산자보다 우선순위가 낮습니다.
4.시프트 연산자: 시프트 연산자(<<, >>)는 산술 연산자보다 우선순위가 낮습니다.
5.관계 연산자: 관계 연산자들(<, >, <=, >=, ==, !=)는 시프트 연산자보다 우선순위가 낮습니다.
6.논리 연산자: 논리 연산자들(&&, ||)는 관계 연산자보다 우선순위가 낮습니다.
7.할당 연산자: 할당 연산자들(=, +=, -=, *=, /= 등)는 논리 연산자보다 우선순위가 낮습니다.
}
// 문자열 처리 기능 메서드
// 문자열 생성
{
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(','); // str 문자열을 쉼표(,)로 구분
}
// 검색
{
string str = "Hello, World!";
int index = str.IndexOf("World"); // str 문자열에서 "World" 문자열의 첫 번째 인덱스를 찾아 index 변수에 저장
}
// 대체
{
string str = "Hello, World!";
string newStr = str.Replace("World", "Universe"); // str 문자열에서 "World" 문자열을 "Universe" 문자열로 대체한 새로운 문자열 newStr을 생성
}
// 변환
{
string str = "123";
int num = int.Parse(str);
}
{
int num = 123;
string str = num.ToString();
}
// 비교
{
string str1 = "Apple";
string str2 = "Banana";
int compare = string.Compare(str1, str2); // 사전식 비교. str1이 str2보다 작으면 음수, 크면 양수, 같으면 0이 나온다.
}
// 포멧팅
// 형식화
{
string name = "John";
int age = 30;
string message = string.Format("My name is {0} and I'm {1} years old.", name, age);
}
//보간
{
string name = "John";
int age = 30;
string message = $"My name is {name} and I'm {age} years old.";
}
Parse랑 Convert의 차이
파싱 실패했을 때, Parse는 FormatException을 내보내고 Convert는 기본값(int같은 경우 0)을 내보낸다.즉, Parse는 예외처리가 되고 Convert는 안된다. 데이터가 항상 명확하고 원하는 값이라면 Parse를 사용하고 불확실할 때는 Covert를 사용한다.
'부트캠프 > Study' 카테고리의 다른 글
C# 문법 2강 - 문제 풀이 (0) | 2023.11.08 |
---|---|
C# 문법 2강(3) - 메서드와 오버로드, 구조체 (0) | 2023.11.07 |
C# 문법 2강(2) - 배열 / 리스트(컬렉션) (0) | 2023.11.07 |
C# 문법 2강(1) - 조건문 / 반복문 (0) | 2023.11.07 |
Git과 GitHub 추가 설명 (0) | 2023.11.01 |