- 주제
1. Console.WriteLine 과 Console.Write 비교
2. 이스케이프 시퀸스(Escape Sequence)
3. 자료형
4. 변수(선언 및 초기화, 생성규칙, 코드 컨벤션, 형변환)
5. Console.ReadLine
6. 연산자(산술, 관계, 논리, 복합 대입, 증감 연산자)
7. 문자열 처리 기능(생성, 연결, 분할, 검색, 대체, 비교, 포멧팅)
- 공부 내용
1. WriteLine 과 Write 비교
1-1. Console.WriteLine(value)
-C#에서 콘솔 출력을 할 때 기본적으로 사용
-줄바꿈 기능 포함
(출력한 후에는 다음 줄로 커서가 이동한다)
-value는 어떤 (문자열, 숫자, 변수, 연산식 등) 값 이든 가능
-콘솔 창에 Console.WriteLine(value)을 입력하고 F5를 누르면, value값을 출력
1-2. Console.Write (value)
-줄바꿈 기능 불포함
(Write를 사용하면 마지막 내용은 WriteLine으로 마무리)
Console.Write("Nice to meet you! ");
Console.Write("We are Learning ");
Console.WriteLine("at TeamSparta");
Console.WriteLine("Let us study together!");
[출력]
Nice to meet you! We are Learning at TeamSparta
Let us study together!
2. 이스케이프 시퀀스(Escape Sequence)
이스케이프 시퀀스 | 설명 |
\' 또는 \" | 작은따옴표(') 또는 큰따옴표(") 삽입 |
\n | 줄바꿈 삽입 |
\t | 탭 삽입 |
\\ | 역슬래시(\) 삽입 |
\r | 현재 줄 맨 앞으로 이동 |
\b | 백스페이스 삽입 |
Console.WriteLine("새로운 코드를 보게되면,");
Console.WriteLine("항상 \"왜?\"에 집중"); // \"
Console.WriteLine("그리고 Try, \nFail quickly."); // \n
[출력]
새로운 코드를 보게되면,
항상 "왜?"에 집중
그리고 Try,
Fail quickly.
Console.WriteLine("Name \tAge"); // \t
Console.WriteLine("핑고 \t30");
[출력]
Name Age
핑고 30
Console.WriteLine("C:\\TeamSparta\\"); // \\
[출력]
C:\TeamSparta\
3. 자료형
특성에 따른 정확한 데이터 표현과 메모리를 효율적으로 사용하기 위해서, 세분화가 필요하다.
자료형 | 크기(바이트) | 범위 |
sbyte | 1 | -128 ~ 127 |
byte | 1 | 0 ~ 255 |
short | 2 | -32,768 ~ 32,767 |
ushort | 2 | 0 ~ 65,535 |
int ex) int i = 9; |
4 | -2,147,483,648 ~ 2,147,483,647 |
uint | 4 | 0 ~ 4,294,967,295 |
long | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
ulong | 8 | 0 ~ 18,446,744,073,709,551,615 |
float ex) float f = 9.0f; |
4 | ±1.5 × 10^-45 ~ ±3.4 × 10^38 |
double | 8 | ±5.0 × 10^-324 ~ ±1.7 × 10^308 |
decimal | 16 | ±1.0 × 10^-28 ~ ±7.9 × 10^28 |
char | 2 | 유니코드 문자 |
string ex) string s = "word" |
유니코드 문자열(배열) | |
bool ex) bool isMonday = true; |
1 | true 또는 false |
4. 변수
데이터(숫자, 문자 등)를 저장하고 사용하기 위해 할당받은 공간
4-1. 변수 선언 및 초기화 방법
int num; //변수 선언: 자료형 변수이름;
num = 10; //변수 초기화: 변수이름 = 값;
int num1, num2, num3; //변수 여러개 선언
num1 = num2 = num3 = 10; //변수 여러개 초기화
int num = 10; //변수 선언과 동시에 초기화
4-2. 변수명 생성 규칙
- 첫 문자는 알파벳, 언더스코어(_)가 올 수 있다.
- 두번째 문자부터는 알파벳, 언더스코어, 숫자가 올 수 있다.
- 대소문자를 구분한다.
- 키워드와 같은 이름으로 사용할 수 없다. (키워드: C#에서 이미 예약된 단어들. ex) class, if, else, bool, ...)
int playerScore;
string playerName;
float itemPrice;
4-3. 코드 컨벤션
(개발자들 사이에서 약속된 코드 작성 규칙)
-첫 글자 대문자, 이후 단어의 첫 글자 대문자 : 클래스, 메서드, 프로퍼티 이름(ClassName)
-첫 글자 소문자, 이후 단어의 첫 글자 대문자 : 변수, 매개변수, 로컬변수(variableName)
-모두 대문자 : 대문자 약어(ID, HTTP, FTP)
4-4. 형변환
(자료형이 다른 변수 간에 값을 할당하거나 연산을 수행할 때 사용,
형변환이 진행된 기존의 변수 값은 바뀌지 않음.)
-숫자를 숫자로:
(변환할 자료형)변수
float num1 = 90.25f;
int num2 = (int)num1; //num1이 float에서 int로 형변환
Console.WriteLine(num1);
Console.WriteLine(num2);
[출력]
90.25 //num1 값은 그대로
90
-문자열을 숫자로:
int.Parse(string 변수)
int baseNumber = 1;
string koreanAge = "29";
int internationalAge = int.Parse(koreanage) - baseNumber; // string을 int로 변환하여 저장
Console.WriteLine("Your international age is {0}!", internationalAge); //{0}= 콤마 이후 첫번째자리값
[출력]
Your international age is 28!
-숫자를 문자열로:
변수.ToString()
int num = 777;
string str = num.ToString();
string luck = "오늘의 행운 번호: " + str;
Console.WriteLine(luck);
[출력]
오늘의 행운 번호: 777
5. Console.ReadLine
-C#에서 콘솔 값을 입력 받기 위해 사용(=사용자 입력창)
Console.Write("Enter your name: ");
string name = Console.ReadLine(); // name은 사용자가 입력한 이름값을 저장하는 변수
Console.WriteLine("Hello, {0} and !", name);
[출력]
Enter your name: (Kero 입력)
Hello, Kero!
6. 연산자
6-1. 산술연산자
연산자 | 설명 |
+ | 덧셈 |
- | 뺄셈 |
* | 곱셉 |
/ | 나눗셈 |
% | 나머지 |
6-2. 관계연산자
두 값을 비교하여 참 또는 거짓으로 값을 반환(true, false)
연산자 | 설명 |
== | 같음 |
!= | 다름 |
> | 큼 |
< | 작음 |
>= | 크거나 같음 |
<= | 작거나 같음 |
6-3. 논리연산자
연산자 | 설명 | 예시 | |
&& | AND | a && b : a와 b 둘다 true이면, true | |
|| | OR | a || b : a와 b 둘 중 하나가 true이면, true | |
! | NOT | !a : a가 false이면 true | a && !b : a가 true, b가 false이면 true |
6-4. 복합 대입 연산자
연산자 | 설명 | 예시 |
+= | x = x + y; | x += y; |
-= | x = x - y; | x -= y; |
*= | x = x * y; | x *= y; |
/= | x = x / y; | x /= y; |
%= | x = x % y; | x %= y; |
6-5. 증감 연산자
연산자 | 설명 |
++ | 1증가 |
-- | 1감소 |
for (int i = 0; i < 5; i++)
{
float x = i + 2; //float x = 2
Console.WriteLine(x);
}
[출력]
2
3
4
5
6
7. 문자열 처리 기능
7-1. 문자열 생성 및 연결
string str1 = new string('H', 5); // 문자 'H'를 5개로 구성된 문자열 생성
string str2 = "Home";
string str3 = str1 + " " + str2; // 공백을 넣어 각 문자열을 구분하여 연결
Console.WriteLine(str1);
Console.WriteLine(str3);
[출력]
HHHHH
HHHHH Home
7-2. 분할
string str = "Welcome, Home!";
string[] words = str.Split(','); //str 문자열을 쉼표로 구분하여 분할하여 words 생성
Console.WriteLine("{0}", words);
Console.WriteLine("{1}", words);
[출력]
Welcome
Home!
7-3. 검색 및 대체
string str = "Welcome, Home!";
int index = str.IndexOf("Home"); // "Home" 문자열의 첫 번째 인덱스 값을 index 변수에 저장
string newStr = str.Replace("Welcome", "Come"); // "Welcome" 문자열을 "Come" 문자열로 대체
Console.WriteLine(index);
Console.WriteLine(newStr);
[출력]
9
Come, Home!
7-4. 비교
string str1 = "ant";
string str2 = "Ant";
bool isEqual = str1 == str2; //문자열을 비교한 후 그 결과를 isEqual 변수에 저장
int compare = string.Compare(str1, str2);
Console.WriteLine(isEqual);
Console.WriteLine(compare);
[결과]
False
-1 //값이 0보다 작으면 str1 < str2, 0이면 str1 == str2, 0보다 크면 str1> str2
string str1 = "Ant";
string str2 = "ant";
int compare = string.Compare(str1, str2);
Console.WriteLine(compare);
[결과]
1 // Ant > ant
7-5. 포맷팅
string name = "Shin";
int age = 30;
string message = string.Format("My name is {0} and I am {1} years old.", name, age); //형식 문자열을 사용
string sentence = $"My name is {name} and I am {age} years old."; //문자열 보간 기능을 사용
Console.WriteLine(message);
Console.WriteLine(sentence);
[출력]
My name is Shin and I am 30 years old.
My name is Shin and I am 30 years old.
'유니티' 카테고리의 다른 글
Day 9 - C# 문법(클래스, 상속, 가상메서드 및 오버라이딩, 추상클래스) (0) | 2024.04.24 |
---|---|
Day 8 - C# 문법(조건문, 반복문, 배열, 딕셔너리, 메서드, 오버로딩, 구조체) (0) | 2024.04.23 |
Day 6 - 게임 이펙트 코드 수정(위치 이동) (0) | 2024.04.20 |
Day 5 - 부정 방지 기능(Invoke & null 활용) 및 발표 피드백 정리 (2) | 2024.04.19 |
Day 4 - 게임 이펙트 추가(SetActive 활용), float -> int (2) | 2024.04.18 |