기본 코드 구조
// 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
명시적 형변환 및 암시적 형변환
형변환: 자료형이 다른 변수 간에 값을 할당하거나 연산을 수행하기위해 명시적 또는 암시적 형변환을 해준다.
명시적 형변환(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
Var 키워드
var키워드를사용하여 변수를 선언하면 변수의 자료형이 컴파일러에 의해 자동으로 결정
(초기화하는 값의 자료형에 따라 변수의 자료형이 결정됨)
var num = 10; // int 자료형으로 결정됨 var name = "kero"; // string 자료형으로 결정됨 var pi = 3.141592; // double 자료형으로 결정됨 |
자료형 사용에 익숙해진 이후에 사용할 것
연산자
ㅁ ㅑ
'유니티 TIL' 카테고리의 다른 글
유니티 내일배움캠프 7일차 TIL : 조건문과 반복문 실습 (0) | 2024.09.20 |
---|---|
유니티 내일배움캠프 6일차 TIL : 조건문과 반복문 (0) | 2024.09.19 |
유니티 내일배움캠프 5일차 TIL : 미니 프로젝트 발표 (1) | 2024.09.13 |
유니티 내일배움캠프 4일차 TIL : 발표준비 (0) | 2024.09.12 |
유니티 내일배움캠프 3일차 TIL : UI (3) | 2024.09.11 |