일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 직장인 코딩공부
- 짠테크
- 깃허브 사용법
- 에센스
- 직장인코딩공부
- 구글 애드센스
- 왓슨스
- 코알못
- HTML공부
- 엑셀
- 스킨케어
- github
- 넷플릭스 영어공부
- 마스카라
- 마스크팩
- css position
- 쿠팡직구
- c#
- 직장인재테크
- 실업급여
- 지성피부
- 주택청약
- 스와니코코
- 올리브영
- 영어회화공부
- 신한은행
- 천연화장품
- 공병리뷰
- 주름개선
- 구글애드센스
- Today
- Total
지지나
C# 데이터 타입과 변수를 배워봐요 - 2 본문
안녕하세요~ 지난번에 C# 데이터 타입과 변수를 아주 살짝 발만 담갔을 뿐인데 어느 것 하나 쉽게 이해되는 것이 없네요.
하지만 제 목표는 "개발자가 되겠어!" 라기 보다는..컴퓨터라고는 인터넷검색만 할 줄 아는 흔한 직장인이 "프로그래밍이 대체 무엇?" 인지 알기 위함이니까요!!!
값 형식중에서 기본 데이터 타입을 배웠는데, 정수타입과 실수타입의 숫자형 그리고 문자형에 대해 보겠습니다.
기본데이터 타입인 Bool, Byte, Double, Int 등등의 자세한 정의는 C# 프로그래밍 기본서에 다 나와있으므로 강의와 함께 이런게 있구나~ 라고만 알고 갔어요.
[숫자형 정수타입]
int a,b 변수에 30과 10의 값을 준 다음에 long 타입으로 덧셈을 해 보았어요. 뒤에 나오겠지만 long 이 더 큰 것이므로 오류 없이 실행할 수 있었습니다.
정수타입 숫자형 데이터를 좀 더 알아볼까요?
빨간 상자의 출력값을 먼저 말씀드리자면 355 와 3 입니다.
int c = short a1 + byte b1 이라고 했는데, 세 가지 모두 데이터 타입이 다르지만 저장형태는 같습니다.
Int 4바이트
short 2바이트
byte 1바이트
이므로 모두 int 보다 저장용량이 작기 때문에 묵시적으로 오류 없이 데이터 형 변환이 가능해 200+155=355 로 c결과가 나온 것이에요!
[숫자형 실수타입]
float 는 소수점 7번째 자리까지, 숫자 뒤에 f를 붙입니다.
double 은 소수점 15번째 자리까지
decimal 은 소수점 28번째 자리까지, 숫자 뒤에 m을 붙입니다. 제일 정확하고 정밀하게 값을 표기할 수 있어요.
오른쪽에 출력값을 보면 오버플로우가 나서 짤린 것을 볼 수 있어요.
[문자형]
char 타입은 2바이트이며 문자 한 글자만 기록하기 때문에 아래와 같이 '커피' 라고 입력하면 오류가 나는 것을 볼 수 있어요. 이럴땐 맨 처음에 Hello World 출력했듯 string 타입을 사용하면 됩니다.
문자형을 더 볼까요? 유니코드 문자를 저장하며 2바이트 크기를 가지는데, 추가로 여러 제어문자를 더 보았어요.
아래는 참고입니다!
\t 는 TAB키에요, 그래서 아래와 같이 출력하면 커피가 연결이 안되고 탭 키로 떨어져 있는걸 확인 할 수 있습니다.
그 아래 \b는 백스페이스 표시인데 출력해도 딱히 눈에 보이지는 않네요ㅠ
조금 더 볼까요? \n 은 개행문자로 줄바꿈 문자에요. 커와 피 사이에 개행문자를 넣었고, Console.WriteLine(ch3)으로 피 뒤에 줄바꿈 명령을 내린 뒤, Console.Write(ch5)를 함으로써 한 줄 뛴 것을 확인 할 수 있습니다.
그리고 \r은 리턴문자인데요, Console.Write(ch1)으로 '커' 글자를 입력하고 Consoel.Write(ch6)으로 그걸 지운것을 확인 할 수 있어요.
마지막으로 묵시적 데이터 형변환과 명시적 데이터 형변환 입니다.
간단하게는 묵시적은 작은 쪽에서 큰 쪽으로 형변환이 자동으로 수행이 가능한 것이고, 명시적은 강제로 형 변환을 해주어야 하는 것이에요.
암튼, int 가 4바이트로 sbyte(1바이트), short(2바이트) 보다 더 크므로 아래는 오류가 나지 않습니다.
암시적 데이터 형 변환은 간략하게 보자면, 아래에서 b=a+b+c 는 오류가 나지 않습니다. double 이 제일 크기 때문이지요.
하지만 c=a+b+c 는 오류가 나는데, double 형식(8바이트)를 int(4바이트)로 변환할 수 없기 때문이에요.
이럴 땐 아래처럼 명시적 형변환을 해줍니다. c = (int)(a+b+c); 로 형변환을 강제로 해 주세요.
출력값을 보자면, c=3+13.05+10=26.05 인데..버림을 하나봅니다? (이건 나중에 공부하다 나오겠죠!)
그리고 b=3+0.05+10=13.05 로 오류 없이 출력되는 것을 확인 할 수 있어요.
*참고로 b를 소수가 아닌 정수로 계산한 값입니다:)
'기획자의 프로그래밍 걸음마 > C#' 카테고리의 다른 글
C# - 제어처리 3. for문, while문, continue (0) | 2020.06.24 |
---|---|
C# - 제어처리 2. Switch (0) | 2020.06.19 |
C# - 제어처리 1. if ~else / if ~else if (0) | 2020.06.17 |
C# 프로그래밍 기초 - 연산자 (0) | 2020.06.15 |
C# 프로그래밍 데이터 타입과 변수를 배워봐요 1 (0) | 2020.05.09 |