C#에서 콘솔 출력을 할 때는 Console.WriteLine 메소드를 사용한다. WriteLine 메소드는 인수로 전달된 값을 출력하고 줄 바꿈(new line)문자열을 추가합니다. 즉, 출력한 후에는 다음 줄로 커서가 이동한다.
Console.WriteLine 메소드는 다음과 같은 형식으로 사용할 수 있습니다.Console.WriteLine(value);ㄴ value 는 출력할 값입니다. value 는 문자열, 숫자, 변수, 연산식 등 어떤 값이든 사용할 수 있습니다.
Console.Write 메소드는 Console.WriteLine 메소드와 유사하지만, 줄 바꿈 문자열을 추가하지 않습니다. 즉, 출력한 후에는 다음 출력이 이어서 출력된다.
int : 정수 / float : 실수 / string : 문자열 / bool : 논리
int i = 9; / float f = 9.0f; / string s = "spart"; / bool isMonday = true;더 많은 자료형들이 있지만 일단 4가지만 알아보자.
C#에서는 이미 예약된 단어들이 있기 때문에 변수, 메소드, 클래스 등의 이름으로 사용할 수 없다.
abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual void volatile while
코드 컨벤션은 개발자들 사이에서 약속된 코드 작성 규칙이다.
1. 식별자 표기법.
- PascalCase : 클래스, 메서드, 프로퍼티 이름 등에 사용된다. 단어의 첫 글자는 대문자로 시작하며, 이후 단어의 첫 글자도 대문자로 표기한다.
- camelCase : 변수, 매개변수, 로컬 변수 이름 등에 사용된다. 단어의 첫 글자는 소문자로 시작하며, 이후 단어의 첫 글자는 대문자로 표기한다.
- 대문자 약어 : 예외적으로 전체 글자가 모두 대문자인 식별자도 있다.
- 들여쓰기
- 탭(tab) 또는 스페이스(space) 4칸을 사용하여 코드 블록을 들여쓴다.
- 중괄호 위치
- 중활호는 항상 새로운 줄에서 시작한다.
- 빈 줄 사용
- 관련 없는 코드 사이에는 빈 줄을 사용하여 구분한다.
-메서드, 클래스 등의 블록 사이에는 두 줄을 띄어쓴다.
- 주석
- //한 줄 주석을 사용한다.
C#에서는 자료형이 다른 변수 간에 값을 할당하거나 연산을 수행할 수 있다. 이때 자료형이 다른 변수 간에 값을 할당하거나 연산을 수행하려면 명시적 형변환 또는 암시적 형변환을 해줘야 한다.
Console.ReadLine
C#에서 콘솔 입력을 받을 때는 Console.ReadLine 메소드를 사용한다. ReadLine 메소드는 사용자가 입력한 값을 문자열로 반환한다.string input = Console.ReadLine();input 은 사용자가 입력한 값을 저장하는 변수다. Console.ReadLine 메소드를 호출하면 사용자가 입력한 값이 문자열로 반환되어 input 변수에 저장된다.
var 키워드를 사용하여 변수를 선언하면 변수의 자료형이 컴파일러에 의해 자동으로 결정된다.
문자열을 숫자로 변환
string str = "123"; int num = int.Parse(str);숫자를 문자열로 변환
int num = 123; string str = num.ToString();
1) if 문
-- if 문은 조건식의 결과에 따라 실행 여부를 결정하는 조건문이다.
2) else 문
-- else 문은 if 문에서 조건식이 거짓일 경우 실행할 코드를 지정하는 조건문이다.
3) else if 문
-- else if 문은 if 문의 조건식이 거짓일 때, 새로운 조건식을 사용하여 실행 여부를 결정하는 조건문이다.
-- else 문은 생략이 가능하다.
4) switch 문
-- switch 문은 변수나 식의 결과에 따라 다른 코드 블록을 실행하는 제어문이다.
-- case 문을 사용하여 변수나 식의 결과에 따라 실행할 코드를 지정한다.
1) for 문
-- for 문은 초기식, 조건식, 증감식을 사용하여 반복문을 작성한다.
- 조건식은 반복문이 시작될 때 단 한번 실행되고
조건식은 반복문이 실행될 때마다 평가되어, 참(true)인 경우 반복문이 계속 실행된다.
증감식은 반복문이 실행될 때마다 실행되는 식이다.for (int i = 0; i < 10; i++) { Console.WriteLine(i); }2) while 문
-- while 문은 조건식이 참(true)인 동안 코드 블록을 반복적으로 실행한다.int i = 0; while (i < 10) { Console.WriteLine(i); i++; }3) foreach 문
-- foreach 문은 배열이나 컬렉션에 대한 반복문을 작성할 때 사용한다.string[] inventory = { "검", "방패", "활", "화살", "물약" }; foreach (string item in inventory) { Console.WriteLine(item); }4) Break & Continue
-- break 는 반복문을 중지시키는 역할
-- continue 는 현재 반복을 중지하고 다음 반복을 진행하는 역할
1) 1차원 배열
-- 동일한 데이터 유형을 가지는 데티어 요소들을 한 번에 모아서 다룰 수 있는 구조
-- 인덱스를 사용하여 요소에 접근 가능
-- 선언된 크기만큼의 공간을 메모리에 할당받음// 배열 선언 데이터_유형[] 배열_이름; // 배열 초기화 배열_이름 = new 데이터_유형[크기]; // 배열을 한 줄로 선언 및 초기화 데이터_유형[] 배열_이름 = new 데이터_유형[크기];2) 다차원 배열
-- 여러개의 배열을 하나로 묶어 놓은 배열
-- 행과 열로 이루어진 표 형태와 같은 구조
-- 2차원, 3차원 등의 형태의 배열을 의미
컬렉션은 자료를 모아 놓은 데이터 구조를 의미
1) List
-- List 는 가벽적인 크기를 갖는 배열
-- List 를 생성할 때는 List 에 담을 자료형을 지정List<int> numbers = new List<int>(); // 빈 리스트 생성 numbers.Add(1); // 리스트에 데이터 추가 numbers.Add(2); numbers.Add(3); numbers.Remove(2); // 리스트에서 데이터 삭제 foreach(int number in numbers) // 리스트 데이터 출력 { Console.WriteLine(number); }2) Dictionary
- 딕셔너리는 키와 값으로 수겅된 데이터를 저장
- 딕셔너리는 중복된 키를 가질 수 없으며, 키와 값의 쌍을 이루어 데이터를 저장
3) Stack
- Stack은 후입선출(LIFO) 구조를 가진 자료 구조
4) Queue
- Queue 는 선입선출(FIFO) 구조를 가진 자료 구조
5) HashSet
- HashSey은 중복되지 않은 요소들로 이루어진 집합
- 메서드
- 메서드는 일련의 코드 블록으로, 특정한 작업을 수행하기 위해 사용되는 독립적인 기능 단위다.
- 메서드의 역할과 중요성
- 코드의 재사용성
- 모듈화
- 가독성과 유지보수성
- 코드의 중복 제거
- 코드의 추상화
- 메서드의 구조와 문법
[접근 제한자] [리턴 타입] [메서드 이름]([매개변수]) { // 메서드 실행 코드 }
- 여러 개의 데이터를 묶어서 하나의 사용자 정의 형식으로 만들기 위한 방법이다.
- 구조체는 struct 키워드를 사용하여 선언한다.
- 구조체의 멤버는 변수와 메서드로 구성될 수 있다.