2024-04-23 TIL

조창일·2024년 4월 23일

내배캠

목록 보기
7/51
post-thumbnail

C# 문법 1주차 정리

Console.WriteLine

C#에서 콘솔 출력을 할 때는 Console.WriteLine 메소드를 사용한다. WriteLine 메소드는 인수로 전달된 값을 출력하고 줄 바꿈(new line)문자열을 추가합니다. 즉, 출력한 후에는 다음 줄로 커서가 이동한다.
Console.WriteLine 메소드는 다음과 같은 형식으로 사용할 수 있습니다.

Console.WriteLine(value);

ㄴ value 는 출력할 값입니다. value 는 문자열, 숫자, 변수, 연산식 등 어떤 값이든 사용할 수 있습니다.

Console.Write

Console.Write 메소드는 Console.WriteLine 메소드와 유사하지만, 줄 바꿈 문자열을 추가하지 않습니다. 즉, 출력한 후에는 다음 출력이 이어서 출력된다.

자료형

int : 정수 / float : 실수 / string : 문자열 / bool : 논리

int i = 9;  / float f = 9.0f; / string s = "spart"; / bool isMonday = true;

더 많은 자료형들이 있지만 일단 4가지만 알아보자.

변수명

1) 키워드

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

2)코드 컨벤션(Code convention)

코드 컨벤션은 개발자들 사이에서 약속된 코드 작성 규칙이다.
1. 식별자 표기법.

  • PascalCase : 클래스, 메서드, 프로퍼티 이름 등에 사용된다. 단어의 첫 글자는 대문자로 시작하며, 이후 단어의 첫 글자도 대문자로 표기한다.
  • camelCase : 변수, 매개변수, 로컬 변수 이름 등에 사용된다. 단어의 첫 글자는 소문자로 시작하며, 이후 단어의 첫 글자는 대문자로 표기한다.
  • 대문자 약어 : 예외적으로 전체 글자가 모두 대문자인 식별자도 있다.
  1. 들여쓰기
  • 탭(tab) 또는 스페이스(space) 4칸을 사용하여 코드 블록을 들여쓴다.
  1. 중괄호 위치
  • 중활호는 항상 새로운 줄에서 시작한다.
  1. 빈 줄 사용
  • 관련 없는 코드 사이에는 빈 줄을 사용하여 구분한다.
    -메서드, 클래스 등의 블록 사이에는 두 줄을 띄어쓴다.
  1. 주석
  • //한 줄 주석을 사용한다.

형변환

C#에서는 자료형이 다른 변수 간에 값을 할당하거나 연산을 수행할 수 있다. 이때 자료형이 다른 변수 간에 값을 할당하거나 연산을 수행하려면 명시적 형변환 또는 암시적 형변환을 해줘야 한다.

Console.ReadLine

Console.ReadLine
C#에서 콘솔 입력을 받을 때는 Console.ReadLine 메소드를 사용한다. ReadLine 메소드는 사용자가 입력한 값을 문자열로 반환한다.

string input = Console.ReadLine();

input 은 사용자가 입력한 값을 저장하는 변수다. Console.ReadLine 메소드를 호출하면 사용자가 입력한 값이 문자열로 반환되어 input 변수에 저장된다.

var 키워드

var 키워드를 사용하여 변수를 선언하면 변수의 자료형이 컴파일러에 의해 자동으로 결정된다.

연산자

변환

문자열을 숫자로 변환

string str = "123";
int num = int.Parse(str);

숫자를 문자열로 변환

int num = 123;
string str = num.ToString();

C# 문법 2주차 정리

조건문

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 키워드를 사용하여 선언한다.
  • 구조체의 멤버는 변수와 메서드로 구성될 수 있다.
profile
안녕하세요.

0개의 댓글