연습 - 리터럴 값 출력
이 연습에서는 다른 형식의 데이터가 포함된 메시지를 인쇄하고 C#에서 데이터 형식이 중요한 이유를 알아봅니다.
리터럴 값이란?
리터럴 값은 변경되지 않는 상수 값입니다. 이전에는 출력 콘솔에 리터럴 문자열을 표시했습니다. 즉, 출력 콘솔에 영숫자, H
e
, l
, l
o
등의 문자열이 표시되기를 원했습니다.
계산이 아닌 프레젠테이션에 영숫자 단어, 구 또는 데이터가 있을 때마다 문자열 데이터 형식을 사용합니다. 출력에 인쇄할 수 있는 다른 종류의 리터럴 데이터는 무엇인가요?
연습 - 다양한 리터럴 데이터 유형 출력
C#에는 많은 데이터 형식이 있습니다. 하지만 시작되면 대부분의 시나리오를 다루기 때문에 약 5~6개의 데이터 형식만 알아야 합니다. 출력할 데이터 형식의 리터럴 인스턴스를 표시해 보겠습니다.
비고
코드 창에서 작업을 시작하면 키워드, 연산자, 데이터 형식 등을 나타내기 위해 특정 구문의 색이 다른 색으로 표시됩니다. 색을 알아차리기 시작합니다. 문자를 입력할 때 구문 오류를 발견하는 데 도움이 되며 코드를 보다 효과적으로 이해하는 데 도움이 될 수 있습니다.
문자 리터럴 사용
단일 영숫자 문자만 화면에 출력하려는 경우, 해당 영숫자 문자를 작은따옴표로 묶어 char 리터럴을 만들 수 있습니다. 이 용어 char
는 문자에 대해 짧습니다. C#에서 이 데이터 형식의 이름은 공식적으로 "char"이지만 "character"라고도 합니다.
코드 편집기에서 다음 코드 줄을 추가합니다.
Console.WriteLine('b');
입력한 코드를 관찰합니다.
문자
b
는 작은따옴표'b'
로 묶입니다. 작은따옴표는 문자 리터럴을 만듭니다. 큰따옴표를 사용하면 데이터 형식이string
만들어집니다.녹색 실행 단추를 눌러 코드를 실행합니다. 출력 창에 다음 결과가 표시됩니다.
b
다음 코드를 입력하는 경우:
Console.WriteLine('Hello World!');
다음 오류가 발생합니다.
(1,19): error CS1012: Too many characters in character literal
Hello World!
를 둘러싼 작은따옴표를 확인하세요. 작은따옴표를 사용하는 경우 C# 컴파일러는 하나의 문자를 기대합니다. 그러나 이 경우 문자 리터럴 구문이 사용되었지만 대신 12자가 제공되었습니다.
데이터 형식처럼 프레젠테이션용으로 char
를 사용하며, 단일 영숫자 문자일 경우에 해당합니다 (char
는 계산용이 아님).
정수 리터럴 사용
출력 콘솔에 숫자 정수(분수 없음) 값을 표시하려면 int 리터럴을 사용할 수 있습니다. 이 용어 int
는 수학을 공부할 때 인식할 수 있는 정수의 약어입니다. C#에서 이 데이터 형식의 이름은 공식적으로 "int"이지만 "정수"라고도 합니다. 리터럴에는 string
나 char
와 같은 다른 연산자가 필요하지 않습니다.
코드 편집기에서 다음 코드 줄을 추가합니다.
Console.WriteLine(123);
녹색 실행 단추를 눌러 코드를 실행합니다. 출력 콘솔에 다음 결과가 표시됩니다.
123
부동 소수점 리터럴
부동 소수점 숫자는 소수점(예: 3.14159)을 포함하는 숫자입니다. C#은 10진수를 나타내는 세 가지 float
double
decimal
데이터 형식을 지원합니다. 각 형식은 다양한 정밀도를 지원합니다.
Float Type Precision
----------------------------
float ~6-9 digits
double ~15-17 digits
decimal 28-29 digits
여기서 정밀도는 소수점 이하의 정확한 자릿수의 개수를 반영합니다.
코드 편집기에서 다음 코드 줄을 추가합니다.
Console.WriteLine(0.25F);
리터럴을
float
만들려면 숫자 뒤의 문자를F
추가합니다. 이 컨텍스트F
에서는 리터럴 접미사라고 합니다. 리터럴 접미사는 형식 값float
으로 작업하려는 컴파일러를 알려줍니다. 소문자f
또는 대문자F
를float
의 리터럴 접미사로 사용할 수 있습니다.녹색 실행 단추를 눌러 코드를 실행합니다. 출력 콘솔에 다음 결과가 표시됩니다.
0.25
float
데이터 형식이 가장 정확하지 않으므로 예기치 않은 계산 오류를 방지하기 위해 고정 소수 값에 이 데이터 형식을 사용하는 것이 가장 좋습니다.코드 편집기에서 다음 코드 줄을 추가합니다.
Console.WriteLine(2.625);
리터럴을
double
만들려면 10진수를 입력하기만 하면 합니다. 리터럴 접미사 없이 10진수를 입력하면 컴파일러가 기본적으로double
리터럴로 설정됩니다.녹색 실행 단추를 눌러 코드를 실행합니다. 출력 창에 다음 결과가 표시됩니다.
2.625
코드 편집기에서 다음 코드 줄을 추가합니다.
Console.WriteLine(12.39816m);
10진수 리터럴을 만들려면 숫자 뒤의 문자를
m
추가합니다. 이 컨텍스트m
에서는 리터럴 접미사라고 합니다. 리터럴 접미사는 형식 값decimal
으로 작업하려는 컴파일러를 알려줍니다. 소문자m
또는 대문자M
를 리터럴 접미사로 기호decimal
에 대해 사용할 수 있습니다.녹색 실행 단추를 눌러 코드를 실행합니다. 출력 콘솔에 다음 결과가 표시됩니다.
12.39816
불리언 리터럴 사용
둘 중 하나를 true
false
나타내는 값을 인쇄하려는 경우 bool 리터럴을 사용할 수 있습니다.
bool
은 Boolean의 약어입니다. C#에서는 공식적으로 "bool"이라고 하지만 개발자는 종종 "Boolean"이라는 용어를 사용합니다.
코드 편집기에서 다음 코드 줄을 추가합니다.
Console.WriteLine(true); Console.WriteLine(false);
녹색 실행 단추를 눌러 코드를 실행합니다. 출력 콘솔에 다음 결과가 표시됩니다.
True False
리터럴은 bool
진리와 거짓의 개념을 나타냅니다. 애플리케이션에 의사 결정 논리를 추가하기 시작하면 bool
값을 광범위하게 활용하게 될 것입니다. 식을 평가하여 식이 true인지 아니면 false인지 확인합니다.
데이터 형식을 강조하는 이유는 무엇인가요?
데이터 형식은 C#에서 중심 역할을합니다. 실제로 데이터 형식에 중점을 두는 것은 JavaScript와 같은 다른 언어에 비해 C#의 주요 특징 중 하나입니다. C# 디자이너는 개발자가 데이터 형식을 적용 하여 일반적인 소프트웨어 버그를 방지하는 데 도움이 될 수 있다고 믿었습니다. C#에 대해 자세히 알아보면 이 개념이 전개되는 것을 볼 수 있습니다.
데이터 형식은 기능을 정의합니다.
이전에는 string
와 char
가 "계산이 아니라 프레젠테이션"에 사용되는 것을 보았습니다. 숫자 값에 대해 수학 연산을 수행해야 하는 경우 다음 int
을 decimal
사용해야 합니다. 프레젠테이션 또는 텍스트 조작에 사용되는 데이터가 있는 경우 또는 데이터 형식을 string
char
사용해야 합니다.
전화 번호 또는 우편 번호와 같은 사용자로부터 데이터를 수집해야 한다고 가정합니다. 거주하는 국가/지역에 따라 해당 데이터는 숫자 문자로 구성됩니다. 그러나 전화 번호 및 우편 번호에 대해 수학 계산을 거의 수행하지 않으므로 데이터 형식을 사용할 때는 데이터 형식을 string
사용하는 것이 좋습니다.
bool
의 경우도 마찬가지입니다. 애플리케이션에서 "true"
와 "false"
에 대해 작업해야 하는 경우, string
를 사용합니다. 그러나 평가를 수행할 때 true
또는 false
개념과 작업해야 하는 경우에는 bool
를 사용합니다.
이러한 값은 해당 문자열 리터럴에 해당하는 값처럼 보일 수 있습니다. 즉, 이러한 진술이 동일하다고 생각할 수 있습니다.
Console.WriteLine("123");
Console.WriteLine(123);
Console.WriteLine("true");
Console.WriteLine(true);
그러나 표시된 출력만 비슷하게 표시됩니다. 사실은 int
나 bool
로 할 수 있는 일의 종류가 string
의 해당 항목과 다를 것입니다.
요약
주요 내용은 많은 데이터 형식이 있지만 지금은 몇 가지에만 집중할 수 있다는 것입니다.
- 계산이 아닌 프레젠테이션용 단어, 문구 또는 영숫자 데이터에 사용되는
string
char
단일 영숫자 문자의 경우- 정수에 사용되는
int
decimal
소수 구성 요소가 있는 숫자의 경우true
/false
값의 경우bool