-
8. C# 상수(데이터 타입)C# 2017. 2. 1. 01:14반응형
인터넷강의 보고 따라하지만.. 강의 내용대로 안되서 다시 정리해 봅니다.
배우면서 쓰는글이기 때문에 정답이 아닐수 있습니다.
- 숫자
- 문자
- 논리
- 객체
==================================================
//C# 소스 코드의 구조
//namespace => class => method
namespace myNameSpace
{
class MyClass
{
public static void Main()
{
//상수와 변수
//숫자 int , uint , long
//문자 String
//논리 boolean , bool // true or false
int iTmp = 10;
string sTmp = "a";
System.Console.WriteLine(iTmp + sTmp);
//10a 출력됨
//C 언어 = a의 아스키코드(97) + 10 = 107 출력이지만
//C# = a10 C#은 변수의 데이터 타입을 엄격하게 관리한다.
//----------------------------- 정수 (숫자) 음의정수 , 0 , 양의정수 ------------------------------//
int iTmp2 = 2000000000; //20억 --> Binary(2진) 111 0111 0011 0101 1001 0100 0000 0000 == 31 자리
//int iTmp3 = 3000000000; //30억 오류발생 --> Binary(2진) 딱 봐도 32바이트를 넘을걸로보임
// represents a 32-bit unsigned integer
//===> int -> uint 로 수정
//uint iTmp3 = 3000000000; // 오류 안남
//uint iTmp3 = 43000000000; // 43억 오류발생 --> 이것도 int 와 마찬가지로 최대 표현 정수범위를 초과해버림
long iTmp3 = 43000000000; // 오류안남
//즉 , 정수의 범위 int < uint < long 순으로 커진다
//----------------------------- 정수 (숫자) 음의정수 , 0 , 양의정수 ------------------------------//
//----------------------------- 소수 ------------------------------//
//float fTmp = 0.1; // float 로 그냥 쓸 경우 오류발생
float fTmp = 0.1f; // 소수를 기본 double 로 변환하기때문에 , float를 사용하고 싶을땐 뒤에 'f' 를 붙여준다.
double bTmp = 0.1;
//----------------------------- 소수 ------------------------------//
//----------------------------- 논리(true, false) ------------------------------//
bool bolTmp = true; // 논리형 변수
object oTmp; //object <== 객체를 변수처럼 사용하고 싶을때..!
//----------------------------- 논리(true, false) ------------------------------//
System.Console.WriteLine(sizeof(int));
System.Console.ReadKey();
}
}
}
==================================================
위 프로그램에서 처럼 각 상수들이 존재한다.
또한 데이터의 길이에 따라 지정할 상수 또한 달라진다.
상수를 잘 못 지정할 시 예상치 못한 오류가 발생된다.
녹색 글씨로 된 부분을 보고 이해된다면 , C#의 상수에 대한 이해가 된것이다.
반응형'C#' 카테고리의 다른 글
10. C# CONSOLE - 알람프로그램 만들기 (0) 2017.02.04 9. C# Console - TTS 서비스 이용하기. (1) 2017.02.04 7. C#배포시 주의사항 (0) 2017.01.28 6. C#의 메모리 관리 (0) 2017.01.28 5. 닷넷(.NET) 프레임워크란? (0) 2017.01.28