[C#]TIL (17) | 2023.08.16

kjg5370·2023년 8월 16일
0

TIL

목록 보기
17/91
post-thumbnail

들어가기 앞서

일단 오늘까지 스파르타 코딩클럽에서 제공해주는 강의를 다 들었습니다.
전체적으로 쉽지 않은 내용들이 많았던 것 같습니다. 그러므로 TIL에 개념 정리 겸
머릿속에 잘 들어오지 않았던 내용들을 복습하는 느낌으로 2주간 TIL을 작성해볼까 합니다.

오늘 배운 것

변수와 자료형

  • 자료형(Data Type) : 데이터를 담을 수 있는 형식.

C#에서 사용되는 기본 자료형

자료형형식크기 (바이트)범위
sbyteSystem.SByte1-128 ~ 127
byteSystem.Byte10 ~ 255
shortSystem.Int162-32,768 ~ 32,767
ushortSystem.UInt1620 ~ 65,535
intSystem.Int324-2,147,483,648 ~ 2,147,483,647
uintSystem.UInt3240 ~ 4,294,967,295
longSystem.Int648-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
ulongSystem.UInt6480 ~ 18,446,744,073,709,551,615
floatSystem.Single4±1.5 × 10^-45 ~ ±3.4 × 10^38
doubleSystem.Double8±5.0 × 10^-324 ~ ±1.7 × 10^308
decimalSystem.Decimal16±1.0 × 10^-28 ~ ±7.9 × 10^28
charSystem.Char2유니코드 문자
stringSystem.String유니코드 문자열
boolSystem.Boolean1true 또는 false
  • 변수 : 데이터(숫자, 문자 등) 를 저장하고 사용하기 위한 할당받은 공간, 필요에 따라 데이터를 저장하거나 수정 가능.

    • 변수 선언 방법

      자료형 변수이름;

    • 변수 초기화

      변수이름 = 값;

  • 식별자 (Identifiers) : 변수, 메서드, 클래스, 인터페이스 등에 사용되는 이름.

  • 형변환
    자료형이 다른 변수 간에 값을 할당하거나 연산을 수행하려면 명시적 형변환(explicit casting) 또는 암시적 형변환(implicit casting)을 해주어야 함.

    • 명시적 형변환

      int num1 = 10;
      long num2 = (long)num1; //int형 -> long형

    • 암시적 형변환

      byte num1 = 10;
      int num2 = num1; //byte형 -> int형

  • 입력
    C#에서 콘솔 입력을 받을 때는 Console.ReadLine 메소드를 사용.

    string input = Console.ReadLine();

    -> 사용자가 입력한 값이 문자열로 반환되어 input 변수에 저장

연산자와 문자열 처리

  • 산술연산자 : 숫자를 대상으로 사용

    연산자설명
    +덧셈
    -뺄셈
    *곱셈
    /나눗셈
    %나머지
  • 관계연산자 : 두 값을 비교하여 참(True) 또는 거짓(False) 값을 반환

    연산자설명
    ==같음
    !=다름
    >
    <작음
    >=크거나 같음
    <=작거나 같음
  • 논리연산자 : 참(True) 또는 거짓(False) 값을 대상으로 사용

    연산자설명
    &&논리곱(AND)
    ||논리합(OR)
    !논리부정(NOT)
  • 비트연산자 : 데이터의 비트(bit) 단위로 연산을 수행하는 연산자

    연산자설명
    & (AND)두 비트 값이 모두 1일 때 1을 반환
    |(OR)비트 값 중 하나라도 1일 때 1을 반환
    ^ (XOR)두 비트 값이 서로 다를 때 1을 반환
    ~ (NOT)비트 값의 보수(complement)를 반환
    << (왼쪽 시프트)비트를 왼쪽으로 이동
    >> (오른쪽 시프트)비트를 오른쪽으로 이동환
  • 복합 대입 연산자 : 변수에 연산을 수행한 결과를 저장하는 연산자

    연산자예시설명
    +=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증가
    --1 감소
  • 문자열 처리 기능

    • 생성

      string str1 = "Hello, World!"; // 리터럴 문자열 사용

    • 연결

      string str1 = "Hello";
      string str2 = "World";
      string str3 = str1 + " " + str2;

    • 분할

      string str = "Hello, World!";
      string[] words = str.Split(','); //문자열을 쉼표(,)로 구분하여 문자열 배열에 저장

    • 대체

      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; // 문자열 값 비교

    string str1 = "Apple";
    string str2 = "Banana";
    int compare = string.Compare(str1, str2);

    - compare 변수는 0보다 작으면 str1 < str2, 0이면 같음, 0보다 크면 str1 > str2
  • 문자열 포맷팅

    • 문자열 형식화

      string name = "gildong";
      int age = 17;
      string message = string.Format("My name is {0} and I'm {1} years old.", name, age);

    • 문자열 보간

      string name = "gildong";
      int age = 17;
      string message = $"My name is {name} and I'm {age} years old.";

기억 할 것 & 진행 사항

  • 변수를 세분화 해서 사용하는 이유

    	1. 메모리의 효율적인 사용 : 필요한 만큼 메모리 할당
    	2. 정확한 데이터 표현 : 데이터 특성에 따라 정확한 표현 가능
    	3. 타입 안정성 : 값의 범위 지정
  • 리터럴 (literal) : 프로그램에서 직접 사용되는 상수 값, 소스 코드에 직접 기록되어 있는 값.

  • 예약어(reserved word) : 컴퓨터 프로그래밍 언어에서 이미 문법적인 용도로 사용되고 있기 때문에 식별자로 사용할 수 없는 단어.

    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

  • 코드 컨벤션(Code convention)은 개발자들 사이에서 약속된 코드 작성 규칙으로, 코드의 가독성을 높이고 유지 보수를 쉽게 하기 위해 사용

  • var 키워드
    C# 3.0부터는 var 키워드를 사용하여 변수를 선언.
    var 키워드를 사용하여 변수를 선언하면 변수의 자료형이 컴파일러에 의해 자동으로 결정.

    var num = 10; // int 자료형으로 결정됨
    var name = "gildong"; // string 자료형으로 결정됨
    var pi = 3.141592; // double 자료형으로 결정됨

  • 연산자 우선순위

    항목연산자우선순위
    괄호 연산자()높음
    증감 연산자++, --
    산술 연산자-(음수)
    *, /
    %
    +, -
    연결 연산자+
    관계 연산자==, !=, <, >, <=, >=
    논리 연산자!(Not)
    &&(And)
    ||(Or)낮음

현재 진행 사항

  • 체크리스트
    • 개발 환경 설정
    • 기본 코드 구조
    • 변수와 자료형
    • 연산자 문자열 처리 -> 여기까지 정리중
    • 조건문과 반복문
    • 배열과 컬렉션
    • 매서드와 구조체
    • 클래스와 객체
    • 상속과 다형성
    • 고급 문법 및 기능
    • 인터페이스와 열거형
    • 예외 처리 및 값형과 참조형
    • 델리게이트, 람다 및 LINQ
    • 고급 자료형 및 기능
    • 알고리즘 기초
    • 정렬 알고리즘
    • 탐색 알고리즘
    • 고급 알고리즘
    • 문제해결 전략과 실전 연습 -> 현재 여기까지 강의 수강

내일 할 일

  • 하루 계획
    • 오전
      • 09:00 ~ 09:30 : 팀원 간 인사 및 하루 계획 작성
      • 09:30 ~ 14:00 : 지급 받은 강의 복습
      • 12시-1시: 점심식사
    • 집중 코딩
      • 14:00 ~ 18:00 : 지급 받은 강의 복습
    • 저녁
      • 6시-7시: 저녁식사
      • 19:00 ~ 20:00 : 학습법 특강은 ‘이렇게 공부하는게 맞는지?’
      • 20:00 ~ 20:30 : 6조 회의
      • 20:30 ~ 21:00 : TIL,마무리 회고 진행
profile
학생입니다

2개의 댓글

comment-user-thumbnail
2023년 8월 16일

감사합니다. 이런 정보를 나눠주셔서 좋아요.

1개의 답글