■ 변수 (Variable) :
- 값을 대입시켜 변화시킬 수 있는 요소
- 데이터를 담는 일정 크기의 공간
- 값 형식 : 변수에 값을 담는 형식
· Stack Memory에 값을 저장
- 참조 형식 : 값이 있는 곳의 위치(메모리 주소)를 담는 형식
· Heap Memory에 값을 저장, Stack Memory에 값이 들어있는 Heap Memory 주소 저장
■ 변수 종류 :
데이터 형식 | 설명 | 형식 | 크기(byte) | 값의 범위 |
byte | 부호 없는 정수 | 값 | 1(8bit) | 0~255 |
sbyte | signed byte 정수 | 값 | 1(8bit) | -128~127 |
short | 정수 | 값 | 2(16bit) | -32,768~32,767 |
ushort | unsigned short 부호 없는 정수 | 값 | 2(16bit) | 0~65,535 |
int | 정수 | 값 | 4(32bit) | -2,147,483,648~2,147,483,647 |
uint | unsigned int 부호 없는 정수 | 값 | 4(32bit) | 0~4,294,967,295 |
long | 정수 | 값 | 8(64bit) | -922,337,203,685,477,508 ~ 922,337,203,685,477,507 |
ulong | unsigned long 부호 없는 정수 | 값 | 8(64bit) | 0~18,446,744,073,709,551,615 |
float | 부동 소수점 형식 (소수점 7자리) |
값 | 4(32bit) | -3.402823e38 ~ 3.402823e38 |
double | 부동 소수점 형식 (소수점 15~16자리) |
값 | 8(64bit) | -1.79769313486232e308 ~ 1.79769313486232e308 |
decimal | 부동 소수점 형식 (소수점 29자리) |
값 | 16(128bit) | ±1.0 x 10-28 ~ ±7.9228 x 1028 |
char | 유니코드 문자 | 값 | 2(16bit) | |
string | 문자열 | 참조 | ||
bool | 논리 형식 | 값 | 1(8bit) | True or False |
object | 모든 형식 | 참조 |
■ Example
sbyte a = -100;
byte b = 200;
Console.WriteLine($"sbyte a = {a}");
Console.WriteLine($"byte b = {b}");
Console.WriteLine();
short c = -30000;
ushort d = 60000;
Console.WriteLine($"short c = {c}");
Console.WriteLine($"ushort d = {d}");
Console.WriteLine();
int e = -20000000;
uint f = 400000000;
Console.WriteLine($"int e = {e}");
Console.WriteLine($"uint f = {f}");
Console.WriteLine();
long g = -9000000000000000000;
ulong h = 18000000000000000000;
Console.WriteLine($"long g = {g}");
Console.WriteLine($"ulong h = {h}");
Console.WriteLine();
float i = 3.141592653589793238462643383279f;
double j = 3.141592653589793238462643383279;
decimal k = 3.141592653589793238462643383279m;
Console.WriteLine($"float i = {i}");
Console.WriteLine($"double j = {j}");
Console.WriteLine($"decimal k = {k}");
Console.WriteLine();
char l = '변';
char m = '수';
string n = "종류 입니다.";
Console.WriteLine($"char i = {l}");
Console.WriteLine($"char m = {m}");
Console.WriteLine($"string n = {n}");
Console.WriteLine();
bool o = true;
bool p = false;
Console.WriteLine($"bool o = {o}");
Console.WriteLine($"bool p = {p}");
Console.WriteLine();
object q = 100;
object r = 3.14;
object s = true;
object t = "변수 예제 입니다.";
Console.WriteLine($"object q = {q}");
Console.WriteLine($"object r = {r}");
Console.WriteLine($"object s = {s}");
Console.WriteLine($"object t = {t}");
Console.WriteLine();
■ 상수 (Constant) :
- 변하지 않는 데이터
- 초기화 이후 값을 변경할 수 없다
- const 키워드로 선언
■ Example
const int a = 3;
const double b = 3.14;
const string c = "abc";
■ object :
- 모든 데이터 형식을 담을 수 있는 형식
- 모든 데이터 형식의 최상위
- 값 형식 데이터를 object로 변환되면 boxing
- object가 값 형식으로 변환되면 unboxing
■ 열거형 (Enumeration) :
- 같은 범주에 속하는 여러 개의 상수를 선언
- 상수 형식을 의미 있는 단어로 표현
■ Example
enum Color
{
Red,
Green,
Blue,
Yellow
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine($"{Color.Red}");
Console.WriteLine($"{Color.Green}");
Console.WriteLine($"{Color.Blue}");
Console.WriteLine($"{Color.Yellow}");
Console.WriteLine($"{(int)Color.Red}");
Console.WriteLine($"{(int)Color.Green}");
Console.WriteLine($"{(int)Color.Blue}");
Console.WriteLine($"{(int)Color.Yellow}");
}
}
■ var 형식 :
- 암시적 형식
- 변수에 담긴 데이터에 따라 컴파일러에 의해 자동으로 형식 지정
- 선언과 동시 초기화 필수
- 지역 변수로만 사용
■ Example
var a = 1;
var b = 3.14;
var c = "Example";
Console.WriteLine($"Type: {a.GetType()}, Value: {a}");
Console.WriteLine($"Type: {b.GetType()}, Value: {b}");
Console.WriteLine($"Type: {c.GetType()}, Value: {c}");
'개인공부 > C#' 카테고리의 다른 글
[C#] 흐름제어-점프문(Jump Statement) (0) | 2022.08.30 |
---|---|
[C#] 흐름제어-반복문(Repetitive Statement) (0) | 2022.08.29 |
[C#] 흐름제어-조건문(Conditional statement) (0) | 2022.08.28 |
[C#] 연산자(Operator) (0) | 2022.08.26 |
[C#] Hello World (0) | 2022.08.25 |