Java 기본 데이터 타입: 8가지 타입 완벽 가이드와 예제
Java 데이터 타입(기본형)
이 튜토리얼에서는 예제와 함께 Java의 8가지 기본 데이터 타입을 모두 배웁니다.
Java 데이터 타입
이름에서 알 수 있듯이 데이터 타입은 Java에서 변수 내에 저장할 수 있는 데이터의 종류를 지정합니다.
Java는 정적 타입 언어입니다. 즉, 모든 변수는 사용 전에 선언되어야 합니다.
int speed;
여기서 speed는 변수이고, 변수의 데이터 타입은 int입니다.
int 데이터 타입은 speed 변수가 정수만 포함할 수 있음을 결정합니다.
Java에는 기본 데이터 타입으로 알려진 8가지 미리 정의된 데이터 타입이 있습니다.
참고: 기본 데이터 타입 외에도 참조 타입(객체 타입)이 있습니다.
8가지 기본 데이터 타입
1. boolean 타입
boolean 데이터 타입은 true 또는 false 두 가지 가능한 값만 가집니다.
- 기본값:
false.
- 주로 true/false 조건에 사용됩니다.
예제 1: Java boolean 데이터 타입
class Main {
public static void main(String[] args) {
boolean flag = true;
System.out.println(flag); // true 출력
}
}
2. byte 타입
byte 데이터 타입은 -128부터 127까지 값(8비트 부호 있는 2의 보수 정수)을 가질 수 있습니다.
- 변수 값이 -128에서 127 사이임이 확실하면 메모리 절약을 위해 int 대신 사용합니다.
- 기본값: 0
예제 2: Java byte 데이터 타입
class Main {
public static void main(String[] args) {
byte range;
range = 124;
System.out.println(range); // 124 출력
}
}
3. short 타입
- Java의
short 데이터 타입은 -32768부터 32767까지 값(16비트 부호 있는 2의 보수 정수)을 가질 수 있습니다.
- 변수 값이 -32768과 32767 사이임이 확실하면 다른 정수 타입(
int, long) 대신 사용합니다.
- 기본값: 0
예제 3: Java short 데이터 타입
class Main {
public static void main(String[] args) {
short temperature;
temperature = -200;
System.out.println(temperature); // -200 출력
}
}
4. int 타입
int 데이터 타입은 -231부터 231-1까지 값(32비트 부호 있는 2의 보수 정수)을 가질 수 있습니다.
- Java 8 이상을 사용하는 경우 부호 없는 32비트 정수를 사용할 수 있습니다. 최솟값 0, 최댓값 232-1. 자세한 내용은 Java 8에서 부호 없는 정수 사용법 방문.
- 기본값: 0
예제 4: Java int 데이터 타입
class Main {
public static void main(String[] args) {
int range = -4250000;
System.out.println(range); // -4250000 출력
}
}
5. long 타입
long 데이터 타입은 -263부터 263-1까지 값(64비트 부호 있는 2의 보수 정수)을 가질 수 있습니다.
- Java 8 이상에서는 최솟값 0, 최댓값 264-1인 부호 없는 64비트 정수를 사용할 수 있습니다.
- 기본값: 0
예제 5: Java long 데이터 타입
class LongExample {
public static void main(String[] args) {
long range = -42332200000L;
System.out.println(range); // -42332200000 출력
}
}
-42332200000 끝에 L이 사용된 것을 주목하세요. 이는 long 타입의 정수임을 나타냅니다.
6. double 타입
double 데이터 타입은 배정밀도 64비트 부동소수점입니다.
- 통화와 같은 정밀한 값에는 절대 사용하지 마세요.
- 기본값: 0.0 (0.0d)
예제 6: Java double 데이터 타입
class Main {
public static void main(String[] args) {
double number = -42.3;
System.out.println(number); // -42.3 출력
}
}
7. float 타입
float 데이터 타입은 단정밀도 32비트 부동소수점입니다. 단정밀도와 배정밀도 부동소수점에 관심이 있다면 더 알아보세요.
- 통화와 같은 정밀한 값에는 절대 사용하지 마세요.
- 기본값: 0.0 (0.0f)
예제 7: Java float 데이터 타입
class Main {
public static void main(String[] args) {
float number = -42.3f;
System.out.println(number); // -42.3 출력
}
}
위 프로그램에서 -42.3 대신 -42.3f를 사용했습니다. -42.3은 double 리터럴이기 때문입니다.
컴파일러에게 -42.3을 double이 아닌 float로 처리하도록 알리려면 f 또는 F를 사용해야 합니다.
단정밀도와 배정밀도에 대해 알고 싶다면 Java 단정밀도와 배정밀도 부동소수점 방문.
8. char 타입
- 16비트 유니코드 문자입니다.
- char 데이터 타입의 최솟값은
'\u0000'(0)이고 최댓값은 '\uffff'입니다.
- 기본값:
'\u0000'
예제 8: Java char 데이터 타입
class Main {
public static void main(String[] args) {
char letter = '\u0051';
System.out.println(letter); // Q 출력
}
}
여기서 Q의 유니코드 값은 \u0051입니다. 따라서 출력으로 Q를 얻습니다.
또 다른 예제:
class Main {
public static void main(String[] args) {
char letter1 = '9';
System.out.println(letter1); // 9 출력
char letter2 = 65;
System.out.println(letter2); // A 출력
}
}
여기서 letter1 변수에는 9가 문자(작은따옴표로 지정)로 할당되었습니다. 그러나 letter2 변수에는 65가 정수(작은따옴표 없음)로 할당되었습니다.
따라서 출력으로 A가 출력됩니다. Java가 문자를 정수로 취급하고 A의 ASCII 값이 65이기 때문입니다. ASCII에 대해 더 알고 싶다면 ASCII 코드란? 방문.
String 타입
Java는 java.lang.String 클래스를 통해 문자열을 지원합니다. Java에서 문자열은 기본 타입이 아닙니다. 대신 객체입니다. 예:
String myString = "Java Programming";
여기서 myString은 String 클래스의 객체입니다. 더 알아보려면 Java Strings 방문.