달력

12

« 2019/12 »

  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

   

    

자바의 자료형

어떤 프로그래밍 언어든 "그 언어의 자료형을 알고 이해할 수 있다면 이미 그 언어의 절반을 터득한 것이나 다름없다"는 말이 있습니다.

타입(data type)은 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 역할을 합니다.

 

int와 같이 변수의 특성을 결정짓는 키워드를 가리켜서 자료형이라고 합니다.

int num;

 

 

 

자바 자료형 유형

·       기본 자료형

·       참조 자료형

 

 

유형

설명

기본 자료형

(primitive data type)

·       자바 컴파일러에 의해서 해석되는 자료형

·       실제 을 갖는 자료형

·       자바에서 여러 형태의 타입을 미리 정의하여 제공

참조 자료형

(reference data type)

·       자바 API에서 제공되거나 프로그래머에 의해서 만들어진 클래스를 자료형으로 선언하는 경우

·       값이 아닌 객체의 주소를 가지고 있는 자료형

·       배열, 클래스, 인터페이스

 

 


   

 

기본 자료형의 종류(Primitive Data Type)

자료형

키워드

크기

기본값

표현 범위

논리형

boolean

1byte

false

true 또는 false (0또는 1아님)

문자형

char

2byte

\u0000

0~65,535

정수형

byte

1byte

0

-128~127

정수형

short

2byte

0

-32,768~32,767

정수형

int

4byte

0

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

정수형

long

8byte

0

-9,223,372,036,854,775,808~9,223,372,036,854,775,807

실수형

float

4byte

0.0

-3.4E38~+3.4E38

실수형

double

8byte

0.0

-1.7E308 ~ +1.7E308

 

 



 

Primitive Data size is like the different size of cups.


https://bit.ly/2xLOShq

 


 

자료형 분류

정수 표현

byte, short, int, long

정수를 표현하는데 사용되는 바이트 크기에 따라서 구분

실수 표현

float, double

float는 소수점 이하 6자리

double 12자리 정밀도

문자 표현

char

참과 거짓 표현

boolean

 

 

 

Posted by codedragon codedragon

댓글을 달아 주세요



 

상수(constant)

·         어떤 상황에서도 변하지 않는 의미합니다.

·         한번 값이 결정되면 프로세스가 종료될 때까지 값을 변경할 없습니다.

·         프로그램에서 데이터는 변수 또는 상수의 형태로 사용합니다.

·         동일한 상수를 여러 사용할 경우에는 자체를 직접 표현하지않고, 상수를 선언하여 대신에 이름(상수명) 사용할 있습니다.

 

 

 

상수 사용시 장점

·         가독성 향상

·         수정 용이

·         오류 방지

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

2017. 9. 12. 15:08

상수 Development/Java

   

 

데이터 표현

표현되는 데이터는 변수 아니면 상수로 표현되어 집니다.

 

 

상수(constant)

·       자료형으로 표현되는 상수 (리터럴 상수)

·       사용자 정의 상수

 

 

자료형으로 표현되는 상수 특징(리터럴 상수)

·       리터럴(literal)이란 그 자체로 값을 의미하는 것입니다.

·       변수와 마찬가지로 상수도 메모리 공간에 저장이 됩니다.

·       다만 이름이 존재하지 않으니 값의 변경이 불가능합니다.

·       상수는 존재 의미가 없어지면 바로 소멸됩니다.

·       int, double과 같은 자료형은 데이터 표현의 기준이며 따라서 변수뿐만 아니라 상수의 데이터 저장 및 참조의 기준이 됩니다.

 

 

상수의 표현 자료형

정수형 상수

int형으로 표현 약속

실수형 상수

double형으로 표현 약속

 

 

 

상수 선언

·       변수에 final을 적용 시 상수를 의미

·       final로 상수 정의시  선언과 동시에 반드시 초기화해야 합니다.

·       상수선언 후  변수와 마찬가지로 이름을 가지고 있는 메모리 공간을 가지게 됩니다.

·       상수의 이름은 관례적으로 모두 대문자를 사용하여 선언합니다.


문법 구성

사용 예

final [자료형] [변수명];

final int VAR=100;

 

 

Posted by codedragon codedragon

댓글을 달아 주세요


 

실수형

·       실수형 데이터를 저장하는 변수의 자료형

·       소수점을 가진 실수의 값을 표현

실수형

메모리 크기

 데이터 표현 범위

float

4바이트(32비트)

 1.17*10-38 ~ 3.40x1038

double

8바이트(64비트)

 2.22*10-308 ~ 1.79x10308

long double

8바이트(64비트)

 2.22*10-308 ~ 1.79x10308

 

 

크기 차이

sizeof(float) sizeof(double) sizeof(long double)

 

 

 

float.h

·       실수형 데이터 표현 범위를 자동으로 알려주는 라이브러리

·       실수형 데이터 표현의 최소값(MIN)과 최대값(MAX) 상수 제공

 

 

실수형

상수(최소값)

상수(최대값)

float

FLT_MIN

FLT_MAX

double

DBL_MIN

DBL_MAX

long double

LDBL_MIN

LDBL_MAX

 

 

 

실수형 데이터 정밀도

실수형은 데이터의 정밀도를 높이기 위해 사용

99.9

99.99

99.999

99.9999

 

실수형

 표현 가능한 소수점 이하 자리 수

설명

float

소수점 이하 6자리

·       Single Precision Floating Point

·       단일 정밀도 부동 소수점 형식

double

소수점 이하 15자리

·       Double Precision Floating Point Format

·       복수 정밀도 부동 소수점 형식

long double

소수점 이하 15자리 또는 그 이상

-

C언어 컴파일러는 기본적으로 실수를 소수점 6자리 출력해 줍니다.

 

 

 

실수형은 double형을 선호 (기본이 되는 데이터 )

·       오차를 줄이기 위해 double형 사용

·       정밀도를 높이기 위해  double형 사용

·       컴파일러는 기본적으로 실수형을 double로 인식

 

 

 

실수 & 실수 표현

http://codedragon.tistory.com/500

 

 



Posted by codedragon codedragon

댓글을 달아 주세요

   

   

데이터의 표현 범위를 구하는 공식

n

비트 수(1바이트는 8비트)

-2n-1

최소값(MIN)

2n-1-1

최대값(MAX)

   

   

 

기본 자료형의 메모리 크기

구분

종류

메모리 크기

데이터 표현 범위

정수형

char

1byte

-128 ~ +127

정수형

short

2byte

-32768 ~ +32767

정수형

int

4byte

-2147483648 ~ +2147483647

정수형

long

4byte

-2147483648 ~ +2147483647

실수형

float

4byte

  

실수형

double

8byte

  

실수형

long double

8byte

  

  

'Development > C/C++' 카테고리의 다른 글

Code::Blocks - 오픈소스, 크로스 플랫폼 C, C++, Fortran IDE  (0) 2015.02.07
정수형의 오버플로우 & 언더플로우  (0) 2015.02.06
데이터의 표현 범위를 구하는 공식  (0) 2015.02.03
sizeof() 연산자  (0) 2015.02.02
자료형 종류  (0) 2015.02.01
자료형  (0) 2015.01.31
Posted by codedragon codedragon

댓글을 달아 주세요

   

   

자료형의 종류

구분

설명

종류

정수형

정수를 표현하는 데이터 타입

char

short

int

long

실수형

소수점이 포함된 값을 표현하는 데이터 타입

float

double

long double

   

   

sizeof() 연산자

  • 자료형의 크기를 구하는 연산자
  • sizeof 연산자의 장점은 자료형에 할당되는 메모리의 크기를 구할 수 있습니다.

   

sizeof() 활용

사용법

설명

sizeof(자료형)

printf("%d", sizeof(int) );

자료형의 메모리 크기를 출력

sizeof(변수)

int num1 = 3;

printf("%d", sizeof(num1) );

변수의 메모리 크기를 출력

   

   

기본 자료형의 메모리 크기

구분

종류

메모리 크기

데이터 표현 범위

정수형

char

1byte

-128 ~ +127

정수형

short

2byte

-32768 ~ +32767

정수형

int

4byte

-2147483648 ~ +2147483647

정수형

long

4byte

-2147483648 ~ +2147483647

실수형

float

4byte

  

실수형

double

8byte

  

실수형

long double

8byte

  

   

   

데이터의 표현 범위를 구하는 공식

n

비트 수(1바이트는 8비트)

-2n-1

최소값(MIN)

2n-1-1

최대값(MAX)

   

   

'Development > C/C++' 카테고리의 다른 글

정수형의 오버플로우 & 언더플로우  (0) 2015.02.06
데이터의 표현 범위를 구하는 공식  (0) 2015.02.03
sizeof() 연산자  (0) 2015.02.02
자료형 종류  (0) 2015.02.01
자료형  (0) 2015.01.31
Ex11-signed & unsigned  (0) 2015.01.30
Posted by codedragon codedragon

댓글을 달아 주세요

자료형의 종류

구분

설명

종류

정수형

정수를 표현하는 데이터 타입

char

short

int

long

실수형

소수점이 포함된 값을 표현하는 데이터 타입

float

double

long double

   

   

'Development > C/C++' 카테고리의 다른 글

데이터의 표현 범위를 구하는 공식  (0) 2015.02.03
sizeof() 연산자  (0) 2015.02.02
자료형 종류  (0) 2015.02.01
자료형  (0) 2015.01.31
Ex11-signed & unsigned  (0) 2015.01.30
Ex10-정수형 데이터 표현 최소값(MIN)과 최대값(MAX) 상수  (0) 2015.01.29
Posted by codedragon codedragon

댓글을 달아 주세요

정수형 자료형과 변수의 크기 확인 & 실수형 자료형과 변수의 크기 확인

  • long자료형은 32bit인 경우 최소 4바이트크기를 가지며
  • 운영체제 마다 32bit/64bit마다 long 자료형의 크기는 4바이트보다 클수 있습니다.
  • long double도 long타입과 동일하게 최소 8바이트 크기 이상을 가지게 됩니다.

   

   

자료형의 메모리 크기

구분

종류

메모리 크기

정수형

char

1byte

정수형

short

2byte

정수형

int

4byte

정수형

long

4byte

실수형

float

4byte

실수형

double

8byte

실수형

long double

8byte

   

   

   

소스코드

#include <stdio.h>
int main(void) {
                //
정수
                char num1=10;
                short num2=20;
                int num3=30;
                long num4=40;
                //
실수
                float num5=3.14;
                double num6=3.25;
                long double num7=3.36;
                printf("\n========
정수형 자료형과 변수의 메모리 크기========\n");
                printf("char
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(char),sizeof(num1));
                printf("short
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(short),sizeof(num2));
                printf("int
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(int), sizeof(num3));
                printf("long
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(long),sizeof(num4));
                printf("\n========
실수형 자료형과 변수의 메모리 크기========\n");
                printf("float
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(float),sizeof(num5));
                printf("double
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(double),sizeof(num6));
                printf("long double
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(longdouble), sizeof(num7));
                return 0;
}


   

   

출력결과

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

   

리터럴 상수 출력

  • 정수형 상수 출력
  • 실수형 상수 출력
  • 문자형 상수 출력
  • 문자열 상수 출력

   

   

소스코드

int main(void)
{
        //
정수형 상수 출력
        printf("%d, %x %o\n", 10, 10, 10 );
        printf("%d, %x %o\n", 17, 17, 17 );

        printf("10
진수 정수형 상수: %d + %d = %d\n",10, 20, 10+20);

        //Ox
상수 -> 16진수
        printf("16
진수 정수형 상수 %x + %x = %x\n",0x10, 0x20, 0x10+0x20);

        //0
상수 -> 8진수
        printf("8
진수 정수형 상수: %o + %o = %o\n",010, 020, 010+020);\



        //
실수형 상수 출력
        printf("\n");
        printf("
실수형 상수: %lf + %lf = %lf\n",3.14, 4.15, 3.14 + 4.15);



        //
문자형 상수 출력
        printf("\n");
        printf("
문자 상수: %c %c %c\n", 'a', 'b', 'c');             // 알파벳
        printf("ASCII 
코드 10진수: %d %d %d \n",'a','b','c');
        printf("ASCII 
코드 16진수: %x %x %x \n",'a','b','c');

        printf("
문자 상수: %c %c %c\n", '!', '@', '#');     // 특수기호
        printf("ASCII 
코드 10진수:  %d %d %d \n",'!','@','#');
        printf("ASCII 
코드 16진수: %x %x %x \n",'!','@','#');



        //
문자열 상수 출력
        //
문자열 상수는 %s 출력
        printf("\n");
        printf("
문자열 상수: %s \n", "C");
        printf("
문자열 상수: %s \n", "10 + 20");
        printf("
문자열 상수: %s \n", "I Love C, I like Programming!!!");

        return 0;
}

 


   

   

출력결과

   

Posted by codedragon codedragon

댓글을 달아 주세요