반응형


자료형(data type)

 

 

자료형이란 컴퓨터에서 사용하는 데이터의 종류를 이야기 한다.
논리형, 정수형, 실수형, 클래스형이 있다.
자료형마다 데이터의 크기가 지정되어 있는데 이것은 메모리를 효율적으로 사용하기 위함이다.
아주 작은 데이터를 저장하는데 큰 공간을 사용하거나
커다란 값을 작은 공간에 나누어 저장하는 것은 비효율적이다. 
저장할 값의 크기에 따라 알맞은 자료형으로 공간을 할당하도록 정해 놓은 것이다.

 

 

1.논리형 자료형
boolean : 사용바이트 1byte,
입.출력범위 : true/false => 형변환이 안된다
   예) boolean bool = false;("false",'false'는 안된다)
     

 

실행결과


 


2.정수형 자료형

byte : 사용바이트 1byte,
입.출력범위 : -128 ~ 127
       예) byte by = 123;(초기화를 꼭 시켜줘야 한다 - 스택영역에 저장)

 

실행결과


 

char : 사용바이트 2byte,
입.출력범위 : 0 ~ 65,536(유일한 unsigned data)
유니코드를 도입해서 2Byte로 이루어져 있다

  예) char ch = 65('A'의 아스키 코드 값)

 char ch = 'A'(작은따움표는 ASCII코드 값을 의미한다)

 char ch = '\u0041';(\u는 유니코드를 의미하는 표시이고 뒤의 4자리는 'A'를 16진수로 표현한 값이다.

 

실행결과


 

     외워두면 유용한 아스키 코드와 문자 


short : 사용바이트 2byte,
입.출력범위 : -2^15~2^15-1(-32,768 ~ 32,767)
               예) short sh = 12345;
               정수형이며 잘 사용되지 않는다.
 
int : 사용바이트 4byte,
입.출력범위 : -2^31~2^31-1(-2,147,483,648~2,147,483,647)
             예) int i = 100;
             4byte 메모리를 기억, 모든 정수의 기본 자료구조가 int형이다.
             정수 연산 시에 발생하는 결과 값은 모두 int형으로 표현
             byte a = 10; byte b = 20; a+b => byte형이라도 + 연산자를 사용하면 int형 30이 된다

long : 사용바이트 8byte
입.출력범위 : -2^63~2^63-1(-9,223,372,036,854,775,808~9,223,372,036,854,775,807)
       초기화 할 때 l이나 L을 붙여야 한다.
       예) long lo = 123356L;

 

실행결과


 
     

3.실수형 자료형

float : 사용바이트 4byte,
입.출력범위 : 1.4E-45 ~ 3.402823E38
               예) float f = 12.34f;
               기본 자료형이 아니므로 초기화 할 때 반드시 f나 F를 붙여줘야 한다.

double : 사용바이트 8byte,
입.출력범위 : 4.9E-324 ~ 1.8E308
               예) double du = 12345.789;
               실수형 기본 자료형으로 8byte범위를 나타낸다

 

 

실행결과

 

실수를 0으로 나누었을 때 무한대의 값을 표기하는 Infinity라는 예약어가 사용됨

0을 실수0.0으로 나누었을 때 수가 아닌 값을 표현하기 위해 NaN이라는 예약어가 사용됨

 

4.클래스형 자료형
String : 사용바이트 4byte(레퍼런스형),
입.출력범위 : 무한대
                 예) Sting str="hellojava";
                 String의 S는 대문자(클래스이므로)
                 클래스의 자료형은 초기화를 해 줄 필요가 없다.(동적할당 메모리영역에 저장)
                 클래스변수는 무조건 4byte이며, 문자열을 처리할 수 있는 자료형처럼
                 사용할 수 있도록 만들어졌다. 

      

 

실행결과


  

Promosion 과 Casting을 이용한 자료형의 변환

형 변환이란 위의 자료형 변수들에 저장된 값을 다른 자료형 변수에 집어 넣는 방식을 말한다.
   - 자동 형 변환(Promosion) :

큰 자료형 변수에 작은 자료형 변수를 넣을 경우
에러는 발생하지 않으나, 메모리 공간이 낭비된다.

   - 강제(명시) 형 변환(Casting) :

작은 자료형 변수에 큰 자료형 변수의 값을 대입하는 경우
반드시 형 변환이 이루어져야만 한다. 안 하면 에러발생

   - 기준
     1) 자료형들의 공간 범위(크기)를 기준으로 한다.
       - short a=10; char b=a; 라고 하면 오류가 발생
         short형은 -32,768~32,767이고 char은 65,535까지 이므로 음수가 되었을 경우를
         생각해서 casting되어야 한다. char b=(char)a;
         예) byte a=12; char b=a;
             byte a=12; short b=a;
             char a=12; short b=a;
     2) 실수형 자료형은 정수형 자료형보다 큰 자료형이다
       - 실수는 무조건 정수보다 크다(무조건 외우자)   

 

 **초기화 에러

- long a = 12; 이러면 int 12를 long형 a에 저장하는 자동 형 변환이 일어난다.

- l,L을 안 붙여서 나타나는 현상    

- float f = 12.5; 이러면 에러가 난다.

- double 12.5를 float형 f에 넣을 때는 강제 형 변환을 해 줘야 한다.

- f,F를 안 붙여서 나타나는 현상

자료형은 기본적으로 이해하도록 한다.

 

반응형

'교육자료 > Java' 카테고리의 다른 글

Java 연산자(Operator)  (0) 2017.06.11
Java 기본 입출력  (0) 2017.06.11
Java 변수와 상수  (0) 2017.06.07
프로그래밍 공부에 필요한 개념1(CPU, Memory, HDD)  (0) 2017.06.02
Eclipse 자바 통합개발환경 설정하기  (0) 2017.05.31

+ Recent posts