C# 기초 - 03. 변수
변수는 값을 저장할 떄 사용하는 식별자 입니다.
변수는 두 단계를 거쳐서 사용합니다.
- 변수를 선언한다.
- 변수에 값을 할당한다.
변수를 선언한다 == 변수를 만드는 행위
변수에 값을 할당한다 == 변수에 값을 넣는 행위
(자료형) (이름) = (값);
int number = 3;
변수는 위의 형태로 선언됩니다.
변수는 크게는 이전에 배운 자료형의 종류를 따릅니다.
[정수 자료형]
키워드 | 설명 |
int | 4바이트 정수 |
long | 8바이트 정수 |
static void Main(string[] args)
{
// 변수 선언
int a = 10;
int b = 5;
Console.WriteLine(a + b);
Console.WriteLine(a / b);
Console.WriteLine(a % b);
}
/*
[실행 결과]
15
2
0
*/
일반적으로 정수를 만들 때 int 자료형을 사용하는데 정수 자료형에 int 와 long 이 있는 이유에 대해 알아보겠습니다.
int 자료형은 4바이트(32bit) 입니다.
이 말은 2<sup>32</sup> 개의 숫자(-2,147,483,648 ~ 2,147,483,647) 까지의 수만 나타낼 수 있다는 말이 됩니다.
즉 int 자료형의 최대 범위인 2,147,483,647 에 1을 더하면 -2,147,483,648 가 출력되고 이러한 현상을
오버플로우(Overflow)라고 부릅니다.
long 자료형은 8바이트이니 나타낼 수 있는 수의 범위가 int 자료형보다 넓습니다.
int 자료형의 범위는 (-최소값 ~ +최대값) 입니다.
만약 음수는 사용하지 않는 변수라면 범위의 절반을 낭비하게 됩니다.
이때 사용하는 자료형이 있는데 이것을 unsigned 자료형이라 부릅니다.
unsigned 자료형은 사용할 자료형 앞에 u를 붙이면 됩니다.
static void Main(string[] args)
{
uint unsignedInt = 4147483647;
ulong unsignedLong = 11223372036854775808;
Console.WriteLine(unsignedInt);
Console.WriteLine(unsignedLong);
}
이렇게 사용하면 기존 자료형의 범위를 넘어서도 표현이 가능합니다.
[실수 자료형]
키워드 | 설명 |
float | 4바이트 실수 |
double | 8바이트 실수 |
변수 선언 방법이나 사용방법 등은 정수 자료형과 동일한 방식을 사용합니다.
static void Main(string[] args)
{
double a = 52.111;
double b = 1.02;
}
[문자 자료형]
키워드 | 설명 |
char | 문자 |
static void Main(string[] args)
{
char a = 'a';
double b = '가';
}
C언어에서는 char 자료형을 1바이트로 정의하지만 C# 에서는 char 자료형을 2바이트로 정의합니다.
char을 사용하실 때 이 점에 유의해야 합니다.
sizeof 연산자를 사용해 이를 확인 할 수 있습니다.
static void Main(string[] args)
{
Console.WriteLine("int : " + sizeof(int));
Console.WriteLine("char : " + sizeof(char));
}
/*
[실행 결과]
int : 4
char : 2
*/
[문자열 자료형]
키워드 | 설명 |
string | 문자열 자료형 |
static void Main(string[] args)
{
string word = "beautiful";
Console.WriteLine(word + "!!!");
}
/*
[실행 결과]
beautiful
*/
문자열 자료형은 sizeof 연산이 불가능합니다.
[불 자료형]
키워드 | 설명 |
bool | 불 자료형 |
static void Main(string[] args)
{
bool a = 1 < 0;
bool b = 100000 < 10;
Console.WriteLine(a);
Console.WriteLIne(b);
}
/*
[실행 결과]
False
False
*/