JAVA
Chapter02 : Primitive Type
GAWON
2023. 5. 12. 18:15
2.1 데이터 타입
- 모든 변수에는 타입이 있으며, 타입에 따라 지정할 수 있는 값의 종류와 범위가 달라진다.
- 변수를 선언할 때 주어진 타입은 사용 도중에 변경할 수 없다.
2.2 기본(원시:primitive) 타입
- 정수, 실수, 문자, 논리 리터럴을 직접 저장하는 타입을 말한다.
- 정수 타입에는 byte, short, int, long이 있고,
실수 타입에는 float, double이 있다. 그리고 논리 타입에는 boolean이 있다.
2.2.1 정수형
1) byte
(1) 크기 : 1바이트 (8비트)
(2) 개수 : 2의 8제곱 (256개)
2) short
(1) 크기 : 2바이트 (16비트)
(2) 개수 : 2의 16제곱 (65,536개)
(3) 범위 : -32,768 ~ 32,767 (-2의 15제곱 ~ 2의 15제곱 - 1)
3) int
(1) 크기 : 4바이트 (32비트)
(2) 개수 : 2의 32제곱 (4,294,967,296개)
(3) 범위 : -2,147,483,648 ~ 2,147,483,647 (-2의 31제곱 ~ 2의 31제곱 - 1)
4) long
(1) 크기 : 8바이트 (64비트)
(2) 개수 : 2의 64제곱 (18,446,744,073,709,551,616개)
(3) 범위 : -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 (-2의 63제곱 ~ 2의 63제곱 - 1)
5) 100억 : 10000000000 처리를 정상적으로 하려면 10000000000L 이라고 표기해야 한다. (int의 범위를 벗어나는 값은 모두 접미사 L표기)
6) 만약 long형으로도 처리가 안되는 숫자는 BigIntger 클래스를 이용해서 처리한다.
ex)
byte b=1; [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ]
short s=1; [0000 0000][0000 0001]
int i=1; [0000 0000][0000 0000]
[0000 0000][0000 0001]
long L=1; [0000 0000][0000 0000]
[0000 0000][0000 0000]
[0000 0000][0000 0000]
[0000 0000][0000 0001]
2.2.2 실수형
1) float
(1) 크기 : 4바이트
(2) 구성 : 부호 + 지수 + 소수
(3) 범위 : -1.4E-45 ~ (부호 : -, 지수: E-45(10의 -45제곱), 소수 :1.4)
2) double
(1) 크기 : 8바이트
(2) 범위 : -4.0E-324 ~
3) 모든 실수형은 오차가 있다.
4) float을 사용하려면 숫자 뒤에 접미사 F표시
ex)
1.2E-3 : 0.0012
1.2E3 : 1200.0
2.2.3 문자형
1) char
(1) 크기 : 2바이트 (C언어의 char는 1바이트)
(2) 문자의 크기
영문 : 1바이트
한글 : 2바이트
2) 코드
(1) ASCII : 1바이트 영문 표준 코드 (C언어)
(2) UNICODE : 2바이트 국제 표준 코드(Java)
2.2.4 논리형
1) boolean
(1) 참 : true
(2) 거짓 : false
(3) 관계 연산자, 논리 연산자의 결과
2.3 문자열(기본자료형은 아님!)
1)String
(1) 참조 자료형이다.
(2) 값을 저장하지 않고, 주소(참조)를 저장하는 자료형 (포인터)
(3) 사용 방법
String str1 = "Hello";
String str2 = new String("Java"); - 일반적인 참조자료형의 사용형태