유니티 TIL

C# 문법 프로그래밍 기본 요소/변수와 자료형

부엥 2024. 9. 17. 22:02

기본 코드 구조

더보기

// Hello World.cs
using System;

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

using System;

System >>네임 스페이스를 의미.

 

namespace Class의 묶음, 기능들의 묶음

System이라는 네임스페이스 안에 있는 기능들을 사용하겠다는 말

 

static void Main()

프로그램이 시작할 때 자동을으로 가장 처음 호출되는 메서드

프로그램 실행에 필수적으로 포함되어 있어야 함


실제로 사용할 때에는 using이 안보임.

 

자주 사용되는 using에 대해서는 프로그램이 포함시켜놓음. (보이지 않아도 실제로는 포함되어있다.)


출력

Console.WriteLine

Console.Write >> 줄 바꿈 문자열을 추가하지 않음.


이스케이프 시퀀스(Escape Sequence)

문자열 내에 특수문자를 포함시키기 위한 문자 조합

\'  작은따옴표 ' 삽임
\" 큰따옴표 " 삽입
\\ 역슬래시 \ 삽입
\n 새 줄(줄바꿈) 삽입
\r 현재 줄 맨 앞으로 이동
\t 탭 삽입
\b 백스페이스 삽입

 

더보기

역슬래시 \ 입력

를 입력하면 되는데,  \ 로 쳐지지 않아도 역슬래시로 인식하기는 한다.

(크롬에서는 역슬래시로 잘 보이는데, 네이버 웨일에서는 원화표시로 보인다^^\\ 에라잇)

 


주석

// 한 줄 주석
/* */  여러 줄 주석

 


변수와 자료형

 

자료형(Data Type)

int, float, string, bool...같은것들

 

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

 - 메모리의 효울적인 사용

 - 정확한 데이터 표현(소수점 이하 자릿수의 차이 등)

 - 타입 안정성

 

리터럴(literal)

고정된 값

변수를 선언하거나 사용하지 않고 코드에서 값이 그대로 쓰이는 경우

int number = 10; // 여기서 '10'이 리터럴
string greeting = "Hello"; // 여기서 "Hello"가 리터럴

 

10은 숫자(정수형)의 리터럴

"Hello"는 문자열(string)의 리터럴

 

리터럴의 종류로는 정수형 리터럴 / 부동소수점형 리터럴 / 문자형 리터럴 / 문자열 리터럴이 있다

 

 

변수 선언

자료형 변수이름;

 

ex)

int num;

int num1, num2, num3; (한번에 여러개를 선언)

 

변수 초기화 (값을 저장)

변수이름 = 값;

 

int number; // 변수 선언 (초기화되지 않음)
number = 10; // 변수 초기화 (처음 값을 할당함)

 

더보기

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

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

 

한번에 여러개의 변수 초기화 가능

int num1, num2, num3 = 10; >>이렇게 하면 num3만 초기화 됨

num1 = num2 = num3 = 10;>>이렇게 해야됨


변수명

키워드X, 식별자(Identifiers)X

숫자로 시작할 수 없음

하이픈 (-) 사용할 수 없음

특수문자 %&$ 사용할 수 없음

대소문자 구별함

 

첫 문자는 알파벳, 언더스코어( _ )

의미를 알아볼 수 있는 변수명 O


 

코드 컨벤션

개발자들 사이에서 약속된 코드 명명규칙

 

식별자 표기법

    PascalCase: 클래스 , 매서드, 프로러티 이름 등에 사용

                          단어의 첫 글자 대문자로 시작, 이후 단어의 첫 글자도 대문자

                          ex) ClassName, MethodName, PropertyName

 

    camelCase: 변수, 매개변수, 로컬변수 이름 등에 사용

                        단어의 첫 글자 소문자로 시작, 이후 단어의 첫 글자는 대문자

                         ex) variableName, parameterName, localVariableName

 

    대문자 약어: 전체 글자가 모두 대문자

                         ex) ID, HTTP, FTP ...

 

들여쓰기(4칸, 8칸 협업 시 약속) 

탭(tab) 또는 스페이스4칸

 

중괄호 위치(취향)

{

항상 새로운 줄에서 시작

}

 

빈 줄 사용

관련 없는 코드 구분

메서드, 클래스등의 블록 사이에는 두 줄 띄어쓰기

 

주석

// 한 줄 주석

/* */여러 줄 주석

 

//한 줄 주석
int a = 10; //코드 끝에도 한 줄 주석 사용가능
/*
여러 줄 주석
/*와 */를 새로운 줄에서 시작하고 끝내기

*/

 

 

https://learn.microsoft.com/ko-kr/dotnet/csharp/fundamentals/coding-style/coding-conventions

 

.NET 코딩 규칙 - C#

C#에서 일반적으로 사용되는 코딩 규칙에 관해 알아봅니다. 코딩 규칙은 코드를 일관되게 표시하고 코드 복사, 변경 및 유지 관리를 용이하게 합니다. 이 문서에는 문서 리포지토리 코딩 지침도

learn.microsoft.com

 


명시적 형변환 및 암시적 형변환

형변환: 자료형이 다른 변수 간에 값을 할당하거나 연산을 수행하기위해 명시적 또는 암시적 형변환을 해준다.

 

명시적 형변환(explicit casting)

ex)
int num1 = 10;
long num2 = (long)num1;   // int를 long으로 명시적 형변환

>>  num1(10)이 long으로 변환되고, long으로 바뀌어진 10을 num2에 저장한다.

>>해당 순간에만 한시적으로 num1의 값이 long으로 변환되는 것.
다른 코드에서 num1을 사용하면, 그 값은 여전히 int로 작동한다.
(변수의 타입을 직접 변경하는 것이 아니기 때문)

 

 

암시적 형변환(inplicit casting)

명시적으로 변환을 지시하지 않아도, 자동으로 안전하게 타입을 변환하는 경우.

데이터 손실이 없을 때만.

 

1. 작은 데이터 타입에서 더 큰 데이터 타입으로 대입하는 경우

byte, short, char 등 >> int, long, float

byte num1 = 10;
int num2 = num1;  // byte형에서 int형으로 암시적 형변환

>> (int)num1

 

2. 리터럴 값이 대입되는 경우

float result = 1;  // 1은 int형 리터럴 값이지만 float형으로 암시적 형변환

QQQQ

 

3.정수형과 부동소수점형간의 연산을 수행하는 경우

(부동소수점: 소수점을 포함한 숫자인 실수를 표현하는 방식 float, double)

int num1 = 10;
float num2 = 3.14f;
float result = num1 + num2;  // int형과 float형의 덧셈에서 float형으로 암시적 형변환

 


더보기

Console.Write("Enter two numbers: ");
string input = Console.ReadLine();    // "10 20"과 같은 문자열을 입력받음

string[] numbers = input.Split(' ');  // 문자열을 공백으로 구분하여 배열로 만듦
int num1 = int.Parse(numbers[0]);     // 첫 번째 값을 정수로 변환하여 저장
int num2 = int.Parse(numbers[1]);     // 두 번째 값을 정수로 변환하여 저장

int sum = num1 + num2;                // 두 수를 더하여 결과를 계산

Console.WriteLine("The sum of {0} and {1} is {2}.", num1, num2, sum);

[출력]
Enter two numbers: 10 20
The sum of 10 and 20 is 30.

형변환은 데이터 타입을 변경하는 것.

Parse 메서드는 문자열을 다른 데이터 타입으로 변환하는 것.


 

주석처리 하는 법, 푸는 법

드래그 하여 선택 하고 Ctrl K C , K U

더보기
Ctrl K C , K U

 

 


Var 키워드

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

(초기화하는 값의 자료형에 따라 변수의 자료형이 결정됨)

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

 

자료형 사용에 익숙해진 이후에 사용할 것


연산자

 ㅁ ㅑ