카테고리 없음

C#_변수의 데이터 타입

zelkova 2021. 2. 7. 11:41

<목차로 돌아가기>

 

데이터형식의 이해

 

데이터

형식

크기
(Byte)

값의 범위

정수

byte

1

0~255

sbyte

1

-128~127 

short

2

-32,768~32,767 

ushort

2

0~65535 

int

4

-2,147,483,648~2,147,483,647 

uint

4

0~4,294,967,295 

long

8

-922337203685477508~922,337,203,685,477,507

ulong

8

0~18,446,744,073,709,551,615

실수

float

4

-3.402823e38~3.402823e38

double

8

-1.79769313486232e308~1.79769313486232e308 

decimal

16

±1.0x10e-28~±7.9x10e28 

문자

char

2

 

문자열

string

 

 

논리

bool

1

true, false 

객체

object

 

 

 

위의 표를 보고 이해하면 아 나는 변수를 좀 안다라고 말하셔도 됩니다.

 

정수 데이터형식

우선 정수를 보면 위에서 배웠던 int가 보입니다. 여기서 다들 눈치 채셨겠지만 

 

byte a;

sbyte a; 

 

이렇게 변수를 선언하실수도 있습니다.

 

차이점은 변수의 형식과 크기입니다.

 

우선 정수형부터 살펴보겠습니다.

byte의 값의 범위를 보면 0~255으로 되어있습니다. 

 

따라서, byte a = 255;와 같이 선언하면 들어가지만

byte a = 256;과 같이 벗어나는 값을 입력하면 아래와 같은 에러가 뜨게됩니다.

 

 

그러므로 데이터형은 정해진 범위만큼의 값을 입력(대입)해야 합니다.

 

  1.  using System;
  2.  using System.Collections.Generic;
  3.  using System.Linq;
  4.  using System.Text;
  5.  using System.Threading.Tasks;
  6.  
  7.  namespace ConsoleApplication1
  8.  {
  9.      class Program
  10.      {
  11.          static void Main(string[] args)
  12.          {
  13.              byte a = 255;
  14.              sbyte b = -128;
  15.              short c = 32767;
  16.              ushort d = 65535;
  17.              int e = 2147483647;
  18.              uint f = 4294967295;
  19.              long g = 922337203685477507;
  20.              ulong h = 18446744073709551615;
  21.  
  22.              Console.WriteLine("a=",a); 
  23.              Console.WriteLine("b=",b);
  24.              Console.WriteLine("c=",c);
  25.              Console.WriteLine("d=",d);
  26.              Console.WriteLine("e=",e);
  27.              Console.WriteLine("f=",f);
  28.              Console.WriteLine("g=",g);
  29.              Console.WriteLine("h=",h);
  30.         }
  31.     }
  32. }

 

 

상수 데이터 형식

실수형도 정수형과 선언하는 방식은 동일합니다.

단, float형은 리터럴값의 끝에 f를 붙이고

    double형은 리터럴값의 끝에 m을 붙여야 합니다.

  1.  using System;
  2.  using System.Collections.Generic;
  3.  using System.Linq;
  4.  using System.Text;
  5.  using System.Threading.Tasks;
  6.  
  7.  namespace ConsoleApplication1
  8.  {
  9.      class Program
  10.      {
  11.          static void Main(string[] args)
  12.          {
  13.              float a = 3.40282338f;
  14.              double b = 1.79769313486232308;
  15.              decimal c = .1028m; 
  16.  
  17.              Console.WriteLine("a=, b=, c=", a, b, c);
  18.          }
  19.      }
  20.  }

 

문자, 문자열 데이터 형식

char형은 '가', '1', 'a'와 같이 한 문자만 들어갈 수 있습니다.

            리터럴을 넣을때는 쿼터( ' )로 감싸줘야 합니다.

 

String 형은 긴문장을 넣을 수 있습니다.

           리터럴형을 넣을때는 더블쿼터(")로 감싸줘야 합니다.

 

  1.  using System;
  2.  using System.Collections.Generic;
  3.  using System.Linq;
  4.  using System.Text;
  5.  using System.Threading.Tasks;
  6.  
  7.  namespace ConsoleApplication1
  8.  {
  9.      class Program
  10.      {
  11.          static void Main(string[] args)
  12.          {
  13.             char a = 'h';
  14.             char b = '1';
  15.             char c = '안';
  16.             string d = "녕하세요";
  17.  
  18.             Console.WriteLine("", a, b,c,d);
  19.          }
  20.      }
  21.  }

 

논리 데이터 형식

변수값에 true(1), false(0)만을 넣습니다.

1bit라는 저렴한 공간을 자랑합니다 ^-^

 

  1.  using System;
  2.  using System.Collections.Generic;
  3.  using System.Linq;
  4.  using System.Text;
  5.  using System.Threading.Tasks;
  6.  
  7.  namespace ConsoleApplication1
  8.  {
  9.      class Program
  10.      {
  11.          static void Main(string[] args)
  12.          {
  13.            bool a = true;
  14.            bool b = false;
  15.           
  16.            Console.WriteLine("a=,\nb",a,b);
  17.          }
  18.      }
  19.  }

 

 

객체 형식

 

이건 다들어갑니다 ...

정수형, 실수형,불리언, 문자형, 문자열형 모오오옹땅~

이건뭔데 이제까지 배운 변수를 허무하게 만드냐?라고 물어보시는분. 앞서 말했듯이 효율성이 좀 떨어집니다. 따라서 쓸모없지는 않아요~

이 부분에 대해서는 상속에서 좀 더 자세히 다루겠습니다.

 

  1.  using System;
  2.  using System.Collections.Generic;
  3.  using System.Linq;
  4.  using System.Text;
  5.  using System.Threading.Tasks;
  6.  
  7.  namespace ConsoleApplication1
  8.  {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             object a = 18446744073709551615;
  14.             object b = 12.3456789101112;
  15.             object c = false;
  16.             object d = "hellow world";
  17.  
  18.             Console.WriteLine("a=, b=, c=, d=", a, b, c, d);
  19.         }
  20.     }
  21.  }

 

반응형