-
[Java] Primitive Data TypesProgramming/Java 2021. 8. 22. 05:23
Java는 statically-typed language로서 컴파일 시간에 변수의 타입이 초기화 되므로 변수는 선언과 동시에 반드시 초기화 되어야 한다
int num = 1;
이러한 문장을 통해 numeric data를 가지고 있고 '1'의 초기 값을 지닌 num이라는 변수를 선언할 수 있다.
변수의 데이터 타입은 변수가 가질 수 있는 값, 해당 변수에 적용할 수 있는 연산들을 지정할 수 있다.
자바는 클래스형이 아닌 8가지의 원시 타입(숫자형, 문자형)을 제공한다.
data type size 표현 범위 default value byte 1byte -128 ~ 127 0 short 2byte -32,768 ~ 32,767 0 int 4byte -2^31 ~ 2^31 - 1
(unsigned) 0 ~ 2^32 - 10 long 8byte -2^63 ~ 2^63 - 1
(unsigned) 0 ~ 2^64 - 10L float 4byte 32 bit 부동소수점 실수 표기 0.0f double 8byte 64 bit 부동소수점 실수 표기 0.0d boolean 1byte(⭐) true/false false char 2byte 단일 unicode string 'u0000' java.lang.String 클래스 또한 primitive data type은 아니지만 character string에 대한 연산을 제공하기도 한다(하지만 immutable value라는 것을 명심 -> https://2jinishappy.tistory.com/259?category=936901)
위에서 표기한 default value는 어느 상황에서나 적용되는 것은 아니다. 선언된 지역 변수를 초기화 하지 않았을 때에는 컴파일 타임 오류가 발생한다.
reference data type과는 다르게 할당되는 value가 클래스로 인해 형성된 객체가 아니기 때문에 선언 시 new keyword를 사용하지 않는다.
참고자료:
- https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html'Programming > Java' 카테고리의 다른 글
Checked and Unchecked Exception (422) 2021.08.25 [Java] Hotspot JVM Garbage Collection 과정 (406) 2021.08.23 [Java] Abstract Class(추상 클래스)와 Interface(인터페이스)의 차이 (277) 2021.08.15 [Java] String 🆚 StringBuffer 🆚 StringBuilder 무슨 차이일까? (0) 2021.07.23 [Java] Java API HashMap은 어떻게 동작할까 (0) 2021.06.20