자바 기본형의 종류와 저장범위
개요
- 자바 기본형의 저장범위는 각 자료형 비트의 크기에 따라 다르다. 어떠한 방식으로 저장되는지 이해하고 저장 가능한 범위를 외우기 보다는 계산하면 알아낼 수 있도록 정리를 하고자 한다.
기본형(primitive type)
자바의 기본형에는 8개의 타입이 있으며 논리형, 문자형, 정수형, 실수형으로 구분할 수 있다.
정수형 저장 가능한 범위는 아래의 식과 같다.
이 식을 아래의 byte자료형에 대입하여 저장 가능한 범위를 알아보자
이를 통해서 정수형 byte의 저장 가능한 범위가 -128 ~ 127임을 알 수 있다.
분류 | 자료형 | 저장 가능한 범위 | 크기 |
논리형 | boolean | false, true | 8bit / 1byte |
문자형 | char | \u0000 ~ \uffff (0~65535) |
16bit / 2byte |
정수형 | byte | -128 ~ 127 | 8bit / 1byte |
short | -32,768 ~ 32,767 | 16bit / 2byte | |
int | -2,147,483,648 ~ 2,147,483,647 | 32bit / 4byte | |
long | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 64bit / 8byte | |
실수형 | float | 1.4E-45 ~ 3.4E38 | 32bit / 4byte |
double | 4.9E-324 ~ 1.8E308 | 64bit / 8byte |
- 컴퓨터는 0과 1로된 2진수만 숫자로 인식할 수 있고, 1bit(컴퓨터가 값을 저장할 수 있는 최소단위)는 숫자를 인식할 수 있는 하나의 저장공간을 나타낸다.
- 1byte는 8bit(binary digit)이며, 1byte는 8개의 0과 1로 표현이 가능한 수의 범위이다.
- 가장 앞 부분인 부호형 비트가 0인경우 양수, 1인경우 음수를 나타낸다.
- char의 경우 unsigned형식이기 때문에 맨 앞 비트를 음수 양수 형식으로 사용하지 않는다.
정수형은 아래와 같은 형식으로 수를 표현하고 있다(1byte 크기). short는 아래 형태를 2개, int는 4개, long은 8개를 가지고 있는 셈이다.
- 가장 우측부터 계산해가며, 각 비트에 저장된 값과 비트 자리수의 승을 곱한 값을 더한다.
1. 논리형 boolean
(1) boolean은 true와 false 중 하나의 값을 갖으며, 조건식(0(no)/1(yes)), 스위치(on/off)등의 논리구현에 사용된다.
(2) 기본값은 false이다.
(3) Java에서 true와 TRUE는 대소문자를 구분하므로 서로 다른 값이다.
(4) boolean을 제외한 나머지 7개의 기본형은 연산과 변환이 가능하다.
2. 문자형 char
(1) 문자를 저장하는데 사용되며, 변수에 하나의 문자만 저장할 수 있다.
(2) 문자를 내부적으로 정수(유니코드)로 저장하므로 정수형 또는 실수형과 연산이 가능하다.
(3) 유니코드 체계를 사용하기 때문에 2byte를 차지한다. (a는 유니코드로 '\u0041'
3. 정수형 byte, short, int, long
(1) 정수를 저장하는데 사용되며, byte는 이진 데이터를 다룰 때, short는 C언어와의 호환을 위해서 사용된다.
(2) 정수형은 int가 기본 자료형(default data type)이다.
(3) 효율적인 실행은 int이지만, 메모리 절약을 위해 byte 혹은 short를 사용하는 경우가 있다.
(4) long타입의 변수를 선언 후 값을 저장할 때는 접미사 'L'을 붙여야 한다.
4. 실수형 float, double
(1) 실수를 저장하는데 사용된다.
(2) 실수형은 double이 기본 자료형이다.
(3) float타입의 변수를 선언 후 값을 저장할 때는 접미사'f'를 붙여야 한다.
(4) float의 정밀도는 7, double의 정밀도는 15자리이다.
'⭐️ Language > Java' 카테고리의 다른 글
break와 continue의 차이 (0) | 2021.07.29 |
---|---|
자바 형변환(Casting) (0) | 2021.07.28 |
JDK, Open JDK설치 및 환경변수(PATH) 설정 (0) | 2021.04.14 |
맥에서 JDK 환경변수(PATH) 설정 (12) | 2021.04.13 |
맥에서 자바 개발도구 JDK 및 이클립스 설치 (0) | 2021.01.20 |
댓글
이 글 공유하기
다른 글
-
break와 continue의 차이
break와 continue의 차이
2021.07.29 -
자바 형변환(Casting)
자바 형변환(Casting)
2021.07.28 -
JDK, Open JDK설치 및 환경변수(PATH) 설정
JDK, Open JDK설치 및 환경변수(PATH) 설정
2021.04.14 -
맥에서 JDK 환경변수(PATH) 설정
맥에서 JDK 환경변수(PATH) 설정
2021.04.13