달력

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

댓글을 달아 주세요

정수형의 언더플로우 & 오버플로우

   

   

강의내용

   

   

   

   

소스코드

#include <stdio.h>

int main(void) {

char num1=-129; // 최소값보다 -1만큼 작은 저장(언더플로우)

char num2=128; // 최대값보다 +1만큼 저장(오버플로우)

printf("%d \n", num1); // 127 출력

printf("%d \n", num2); // -128출력

num1=-130; // 최소값(-128)보다 -2만큼 작은 저장(언더플로우)

num2=129; // 최댜값(127)보다 +2만큼 저장(오버플로우)

printf("%d \n", num1); // 126 출력

printf("%d \n", num2); // -127출력

return 0;

}

   


   

 

출력내용

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

 

정수형의 오버플로우 & 언더플로우

정수형의 오버플로우와 언더플로우는 순환된 값을 출력합니다.

프로그래밍 언어가 자료유형에 대해 엄격한 언어가 아닌 경우 오버플로우가 일어나도 오류가 발생하지 않고, 현재 형이 수용할 수 있는 형태로 바뀌게 됩니다. 간혹, 경고를 발생하여 주는 경우도 있습니다.

 

 

   

오버플로우

자료형에 저장할 수 있는 최대 범위보다 큰 수 저장

   

char c=128;

최대값에서 +1만큼 오버플로우가 발생

   

언더플로우

자료형에 저장할 수 있는 최소 범위보다 작은 수 저장

   

char c=-129

최소값에서 -1만큼 언더플로우가 발생

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

댓글을 달아 주세요

정수형 데이터 표현 최소값(MIN)과 최대값(MAX) 상수

   

   

소스코드

   

#include <stdio.h>
#include <limits.h>     //
정수형의 최소값(MIN), 최대값(MAX) 상수 정의
int main(void) {
                printf("char
최소값: %d, 최대값: %d \n", CHAR_MIN, CHAR_MAX);
                printf("short
최소값: %d, 최대값: %d \n", SHRT_MIN, SHRT_MAX);
                printf("int
최소값: %d, 최대값: %d \n", INT_MIN, INT_MAX);
                printf("long
최소값: %d, 최대값: %d \n", LONG_MIN, LONG_MAX);
                return 0;
}


   

   

출력결과

   

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

댓글을 달아 주세요