Key point
문자 표시
- Write()
: 모니터에 문자를 표시하는 메소드
- WriteLine()
: 모니터에 문자를 표시하고 줄을 바꾸는(Line:행을 의미) 메소드
- Main()
: 프로그램의 시작 지점(entry point:엔트리 포인트), 프로그램을 실행시키면 맨 먼저 처리된다.
- 프로그램은 클래스 안에서 작성하는 것
다양한 형, 값, 변수
- 변수
: 데이터를 저장해 두는 상자
- C# 언어에서는 형(정수형, 실수형, 문자형 등)을 지정해 변수에 저장
- C#은 숫자와 문자의 구별부터 숫자의 정밀도까지 엄밀하게 형을 지정해줘야 한다.
용어 설명
- 변수
: 임시적인 데이터 저장 공간
- 데이터형
: 데이터 구분 기준(정수형, 실수형, 문자형 등)
- 배열
: 성격이 동일한 변수의 연결, 복수의 같은 형의 변수를 모아 열거한 것
- 열거형
: 정수형에 특정 이름을 붙이고 치환하여 사용하는 방법
- 유니코드
: 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준
Hello World!
using System;
class Hello {
public static void Main() {
Console.WriteLine("Hello World!");
}
}
- 대문자, 소문자 구별 주의
Main()
: 프로그램의 시작, 이것이 없으면 컴파일이나 실행 불가능
- 문자열 표시
Console.Write();
: ()안의 문자열 화면에 표시
Console.WriteLine();
: ()안의 문자열 화면에 표시하고 줄 바꿈
변수
변수의 선언과 대입
int a;
a=2;
변수의 표시
using system;
class Data{
public static void Main(){
int a;
int b;
a=2;
b=3;
a=b;
Console.WriteLine(a);
}
}
변수 선언은 꼭 행을 나누어 쓰지 않고 한 행에 여러 개 쓸 수도 있다.
a=2; b=3;
int a; int b;
int a, b;
int a; a = 2;
int a=2;
int a; int b;
a = 2; b = 3;
int a = 2, b = 3;
수치형(정수형과 실수형)
정수형
s
: '부호가 붙는, signed'의 의미
u
: '부호가 붙지 않는, unsigned'의 의미
- 형에 따라 메모리를 사용하는 양이 다르다
- byte -(2배)-> short -(2배)-> int -(2배)-> long
형의 이름 | 읽는 방법 | 들어갈 값의 범위 | 크기(비트 수) |
---|
sbyte | 에스바이트 | −128~127 | 8 |
byte | 바이트 | 0~255 | 8 |
short | 쇼트 | −32768~32767 | 16 |
ushort | 유쇼트 | 0~65535 | 16 |
int | 인트 | −2147483648~2147483647 | 32 |
uint | 유인트 | 0~4294967295 | 32 |
long | 롱 | −9223372036854775808~9223372036854775807 | 64 |
ulong | 유롱 | 0~18446744073709551615 | 64 |
실수형
- 소수점 이하를 사용할 수 있는 실수형
- float -(2배)-> double
형의 이름 | 읽는 방법 | 들어갈 값의 범위 | 크기(비트 수) |
---|
float | 플로트 | ±1.5∗10−45 ~ ±3.4∗1038 | 32 |
double | 더블 | ±5∗10−324 ~ ±1.7∗10308 | 64 |
- decimal형
- 컴퓨터 계산의 반올림 오차를 없애고 소수점 이하의 값을 28자리까지 정확히 표현한 형
형의 이름 | 읽는 방법 | 들어갈 값의 범위 | 크기(비트 수) |
---|
decimal | 데시멀 | ±1∗10−28 ~ ±7.9∗1028 | 128 |
문자와 문자열
문자
- 유니코드(Unicode) 문자 1개
char
라는 형의 변수에 저장하고 크기는 16비트이며 문자는 '
로 묶어 표현한다.
char a = 'A';
char a = "A";
문자의 표시
Console.WriteLine('A');
Console.WriteLine('\u0041');
char a = "가";
char a = "abc";
문자열
- 복수의 문자를 모은 것
string
이라는 형에 저장하고 문자열은 "
로 묶는다.
string sweet = "candy";
- 문자열은
+
연산자를 사용해 연결할 수 있다. 한쪽이 수치가 대입되어 있어도 문자로 취급되어 연산이 아니라 문자열에 붙는다.
using System;
class sweets{
static void Main(){
string candy = "캔디";
int a = 3;
string basket = candy + a + "개";
Console.WriteLine(basket);
}
}
배열
- 같은 형의 변수 여러 개를 한 개로 모은 것
- 대량의 데이터를 취급할 때나 복수의 데이터를 차례차례 자동으로 읽어 내고자 할 때 사용
new
연산자를 이용해 선언
- 첨자 : 0부터 시작하는 배열의 인덱스 번호
- 요소 : 각 요소에 대한 참조는 a[0], a[1], ...로 표현
int [] a = new int [4];
int [] a = new int [] {1, 2, 3, 4};
int [] a = {1, 2, 3, 4};
배열 요소의 참조와 대입
각 배열의 요소는 보통의 변수와 같이 참조와 대입이 가능하다.
int [] a = new int [4];
int n = 1;
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
Console.WriteLine(a[n]);
다차원 배열
- 두 개 이상의 차원을 가진 배열
- 배열이 요소 수에 따라 가로로 확장해 가는 1차원이었다면, 2차원은 가로와 세로로 확장해 간다.
- 차원 수에 따라
[]
안에 ,
를 사용
- 요소수는
[z, y, x]
방향의 순서대로 되어있다.
int [] a = new int [3];
int[ , ] a = new int [2, 3];
int[ , , ] a = new int [2, 2, 3];
using System;
class Number {
static void Main() {
int[,] a= {
{10, 20},
{30, 40},
{50, 60}
};
a[1,1] = 0;
Console.WriteLine("a[0,0]="+a[0,0]+'\t'+"a[0,1]="+a[0,1]);
Console.WriteLine("a[1,0]="+a[1,0]+'\t'+"a[1,1]="+a[1,1]);
Console.WriteLine("a[2,0]="+a[2,0]+'\t'+"a[2,1]="+a[2,1]);
}
}
재그 배열
- 2차원 이상의 배열에서 각 방향의 요소 수가 일정치 않은 배열
- 재그(jag)는 '들쭉날쭉하다'는 의미
int [][] a = new int [3][];
a[0] = new int[3] {10, 20, 30};
a[1] = new int[2] {40, 50};
a[2] = new int[1] {60};
int [][] a = new int [][] {
new int[] {10, 20, 30},
new int[] {40, 50},
new int[] {60}
};
배열의 요소 수
int [] a = new int[4];
int b = a.length
int [ , ] a = new int[3, 2];
int b = a.length
int [][] a = new int [][] {
new int[] {1, 2, 3},
new int[] {4, 5},
};
int b = a.length;
int c = a[1].length;
열거형
- 정수값에 특정 이름(식별자)을 붙인 것
enum
을 먼저 선언
enum Animal {mouse, cat, bird, dog, koala, pig, lion};
- 각 식별자에는 0부터 차례로 1씩 증가하는 정수값이 할당됨
enum Animal {mouse, cat, bird, dog=100, koala, pig=200, lion};
- 임의의 수를 주면 그 수로부터 1씩 증가해 감
- int형이 아닌 정수형을 기본으로 하여 열거형을 만들고 싶다면
:(콜론)
을 이용하여 형을 지정해주면 된다.
enum Animal:byte {mouse, cat, bird, dog=100, koala, pig=200, lion};
- 식별자를 참조하려면
열거형명.열거정수
와 같이 적는다.
using System;
class Enumsample
{
enum Animal { mouse, cat, bird, dog=100, koala, pig=200, lion };
static void Main() {
Animal a;
a = Animal.dog;
Console.WriteLine(Animal.cat);
Console.WriteLine((int)Animal.dog);
Console.WriteLine((int)Animal.lion);
Console.WriteLine(a);
}
}