TIL 3회차

H·2024년 1월 4일
0

TIL

목록 보기
2/2
post-thumbnail

일단 꾸준히 해야하니..

본격 노트 Ver. TIL

C기초

1. 문자열, 숫자, 변수, 연산식 등 'value'값 출력 하는 방법?

console.WriteLine 메소드를 사용하면 됨.

1) Console.WriteLine

C#에서 콘솔 출력을 할 때는 Console.WriteLine 메소드를 사용!
참고로 WriteLine 메소드는 인수로 전달된 값을 출력하고 줄 바꿈(new line) 문자열을 추가함. 즉, 출력한 후에는 다음 줄로 커서가 이동.

사용법은 다음과 같다.

Consol.WriteLine(value);

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


Hello World의 글을 써주는
전체코드는 아래와 같다.


// Hello World.cs
using System;

namespace HelloWorld
{
  class program
  {
    static void Main(string[] args)
    {
      Console.WriteLine("Hello World!");    
    }
  }
}

  • using System;은 C#에서 기본적으로 제공하는 네임스페이스(System 네임스페이스)를 사용하기 위한 코드. Console 클래스를 사용하기 위해 필요함.

  • **namespace**는 코드를 구성하는 데 사용되며 클래스 및 기타 네임스페이스의 컨테이너. 즉 코드들의 묶음. 저 네임스페이스 안의 코드를 사용하겠다 라고 생각하면 됨.

  • class Program는 C# 클래스를 정의하는 키워드. 클래스 이름은 Program로 지정.
  • static void Main()은 C#의 진입점(entry point). Main 메서드는 프로그램이 시작할 때 자동으로 호출되는 메서드이다. Main 메서드는 프로그램 실행에 필수적이다.
  • Console.WriteLine("Hello World");은 콘솔에 출력할 내용을 지정하는 코드이다. WriteLine 메서드는 새 줄을 시작하고 출력할 문자열을 인자로 받는다.
  • **{}**는 코드 블록의 시작과 끝을 나타내는 중괄호이다.
  • 모든 C# 문은 세미콜론으로 끝난다 ;.

2) Console.Write

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

예를 들어, 다음과 같이 Console.Write 메소드와 Console.WriteLine 메소드를 사용하여 값을 출력할 수 있다.

Console.Write("Hello! ");
Console.Write("We are Learning ");
Console.WriteLine("at TeamSparta");

근데 처음부터 왜 저렇게 써야되는지 모르니
하나하나 보자

C#에서 코딩 작성할때 기본적인 구조는?

Namespace

Class

Main method

  1. Namespace
    코드의 논리적인 그룹화 담당. 클래스, 인터페이스, 구조체등 다양한 타입들을 포함함.
    보통 'using' 키워드를 사용하여 네임스페이스를 가져옴

  2. Class
    데이터를 조작하는 메서드를 포함하는 논리적인 단위.

  3. Main method
    프로그램이 시작되는 지점으로, 실행코드가 이 메서드에서 시작.



이렇게 정리하니!!!!

.


.


.


.


.

여전히 잘 모르겠으나..


계속 정리 해나가면서 하나씩 지식을 얻어가보자


문장 띄어쓰기

<br>

여러줄 주석처리 단축키

주석 처리: Ctrl + K + C
주석 해제: Ctrl + K + U


  • 1) 자료형 (Data Type)
    C#에서 사용되는 기본 자료형
자료형.Net 데이터타입크기(바이트)범위
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,61
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

와 마크다운에서 표 만드는거 왜 이렇게 불편하지..ㅋㅋㅋ 다른방법은없는건가


  • 1) 변수란?
    • 데이터(숫자, 문자 등) 를 저장하고 사용하기 위한 할당받은 공간
    • 필요에 따라 데이터를 저장하거나 수정 가능
    • 예를 들어 게임을 제작할때 플레이어의 재화나 공격력, HP 같은 정보를 저장하기 위해 사용
  • 2) 변수 선언 C#에서 변수를 선언하는 방법은 다음과 같습니다.
    자료형 변수이름;
    예를 들어, int 자료형의 변수를 선언하는 방법은 다음과 같습니다.
    int num;
    다음은 한번에 변수 여러개를 선언하는 방법의 예시입니다.
    int num1, num2, num3;

3) 변수 초기화
변수를 선언한 후에는 변수를 초기화하여 값을 저장해야 한다.
변수를 초기화하는 방법은 다음과 같다.
변수이름 = 값; (왼쪽에 오른쪽 값을 대입한다)

변수를 선언하고 초기화.

int num;     // 변수 선언
num = 10;    // 변수 초기화

변수를 선언과 동시에 초기화.

int num = 10;   // 변수 선언과 초기화를 한 번에 수행

한번에 여러개의 변수를 초기화.

int num1, num2, num3 = 10; (X)

num1 = num2 = num3 = 10;

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

  1. 메모리의 효율적인 사용
    세분화된 자료형을 사용하면, 해당 자료형이 필요한 크기만큼의 메모리를 할당하여 메모리의 효율적인 사용을 가능하게 합니다.
  2. 정확한 데이터 표현
    세분화된 자료형을 사용하면, 데이터의 특성에 따라 정확한 표현이 가능합니다. 예를 들어, 부동소수점 자료형인 float과 double은 소수점 이하 자릿수가 다르며, 각각의 자료형은 다른 범위의 값까지 표현이 가능합니다.
  3. 타입 안정성
    세분화된 자료형을 사용하면, 코드의 타입 안정성을 유지할 수 있습니다. 예를 들어, 정수형 자료형으로 byte를 사용하면, 해당 자료형이 가질 수 있는 값의 범위를 벗어날 경우 오류가 발생하므로, 코드의 안정성을 보장할 수 있습니다.

일단은 돌아가게만 만들고 나중에 메모리 효과적으로 쓰기위해서 변수를 다시 바꿔서 코딩을 할수 있겠군..


대문자로 시작하는 클래스 이름을 사용하는 이유?

C#의 네이밍 규칙에서 클래스 이름은 파스칼 케이스(PascalCase)를 따릅니다. 파스칼 케이스는 여러 단어로 이루어진 이름에서 각 단어의 첫 글자를 대문자로 쓰고 나머지는 소문자로 쓰는 규칙입니다.

  1. 가독성: 대문자로 시작하는 이름은 소문자로 시작하는 것보다 시각적으로 눈에 띄기 쉽습니다.
  2. 일관성: C#에서는 클래스 이름에 대문자로 시작하는 것이 널리 사용되는 규칙이므로, 이를 따르면 일관성 있는 코드 작성이 가능합니다.

변수명

  • 1) 키워드 (Keywords)
    • C#에서는 이미 예약된 단어들이 있기 때문에 변수, 메소드, 클래스 등의 이름으로 사용할 수 없다.
    • 이러한 단어를 키워드(Keywords)라고 한다
    • 다음과 같은 키워드들이 있다.
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) 식별자 (Identifiers) 식별자란 변수, 메서드, 클래스, 인터페이스 등에 사용되는 이름을 말합니다. 이 이름은 키워드와 동일하게 사용할 수 없습니다. 식별자를 사용할 때에는 다음과 같은 규칙을 따라야 합니다.
    • 첫 문자는 알파벳, 언더스코어(_)가 올 수 있습니다.

    • 두번째 문자부터는 알파벳, 언더스코어, 숫자가 올 수 있습니다.

    • 대소문자를 구분합니다.

    • 키워드와 같은 이름으로 사용할 수 없습니다.

      // 좋은 예시
      int playerScore;
      string playerName;
      float itemPrice;
      
      // 나쁜 예시 (중요 의미 있는 변수명 짓기)
      int x1;  // 변수명이 의미를 알기 어려움
      string a; // 변수명이 명확하지 않음
      
      // 오류 예시
      int 1stNumber;  // 변수명은 숫자로 시작할 수 없음
      string my-name; // 변수명에 하이픈(-)을 사용할 수 없음
      float total$;   // 변수명에 특수문자($)를 사용할 수 없음
  • 3) 코드 컨벤션(Code convention) 코드 컨벤션(Code convention)은 개발자들 사이에서 약속된 코드 작성 규칙으로, 코드의 가독성을 높이고 유지 보수를 쉽게 하기 위해 사용됩니다. 코드 컨벤션은 프로그래밍 언어마다 다를 수 있으며, 우리는 다음의 규칙을 따를 예정입니다.
    1. 식별자 표기법
      • PascalCase: 클래스, 메서드, 프로퍼티 이름 등에 사용됩니다. 단어의 첫 글자는 대문자로 시작하며, 이후 단어의 첫 글자도 대문자로 표기합니다. 예를 들어, ClassName, MethodName, PropertyName과 같은 형태입니다.
      • camelCase: 변수, 매개변수, 로컬 변수 이름 등에 사용됩니다. 단어의 첫 글자는 소문자로 시작하며, 이후 단어의 첫 글자는 대문자로 표기합니다. 예를 들어, variableName, parameterName, localVariableName과 같은 형태입니다.
      • 대문자 약어: 예외적으로 전체 글자가 모두 대문자인 식별자도 있습니다. 대표적으로 ID, HTTP, FTP 등이 있습니다.
    2. 들여쓰기
      • 탭(tab) 또는 스페이스(space) 4칸을 사용하여 코드 블록을 들여씁니다.
    3. 중괄호 위치
      • 중괄호({})는 항상 새로운 줄에서 시작합니다.
    4. 빈 줄 사용
      • 관련 없는 코드 사이에는 빈 줄을 사용하여 구분합니다.
      • 메서드, 클래스 등의 블록 사이에는 두 줄을 띄어씁니다.
    5. 주석
      • // 한 줄 주석을 사용합니다.
      • /* / 여러 줄 주석을 사용할 때는 / 를 다음 줄에서 시작하고, */ 를 새로운 줄에서 끝내도록 합니다.

예를 들어, 다음과 같이 C# 코드를 작성하는 것이 일반적인 코드 컨벤션입니다.

```
class MyClass
{
    // 필드는 camelCase 표기법을 사용합니다.
    private int myField;

    // 프로퍼티는 PascalCase 표기법을 사용합니다.
    public int MyProperty { get; set; }

    // 메서드는 PascalCase 표기법을 사용합니다.
    public void MyMethod()
    {
        if (true)
        {
            // 중괄호는 새로운 줄에서 시작합니다.
        }

        // 코드 블록은 탭(tab) 또는 스페이스(space) 4칸으로 들여씁니다.

        // 관련 없는 코드 사이에는 빈 줄을 사용하여 구분합니다.
				// 블록 사이에는 두 줄을 띄어씁니다.
				
		    /*
		    여러 줄 주석을 사용할 때는
		     / * 를 새로운 줄에서 시작하고,
		     * / 를 새로운 줄에서 끝내도록 합니다.
		    */
		
		    // 한 줄 주석은 이렇게 사용합니다.
		    int a = 10; // 코드 끝에도 한 줄 주석을 사용할 수 있습니다.
		}
}
```

코드 컨벤션을 지키면 코드의 가독성이 좋아지고 유지보수가 용이해집니다. 
따라서 C# 개발을 할 때는 코드 컨벤션을 준수하는 것이 좋습니다.
profile
IT 서비스 구현 및 게임에 관심이 많습니다.

0개의 댓글