반응형
Java 자료형 (Data Type)
Java 의 자료형은 크게 기초 자료형 (Primitive type) 과 참조 자료형 (Reference type) 으로 나뉘어진다.
• 기초 자료형 (Primitive type)
정수 | Byte | byte | 1byte (8bit) |
Short | short | 2byte (16bit) | |
Integer | int | 4byte (32bit) | |
Long | long | 8byte (64bit) | |
실수 | Float | float | 4byte (32bit) |
Double | double | 8byte (64bit) | |
문자 | Character | char | 2byte (16bit) |
논리 | Boolean | boolean | 1byte (8bit) |
( * char 는 문자 타입으로 분리되긴 하나 사실상 2byte 정수이다. 컴퓨터는 아스키코드 규칙에 맞게 숫자로 치환되어 인식한다.)
• 참조 자료형 (Reference type)
객체 | 문자열 |
배열 | |
인터페이스 |
( * String 은 Java 에서 제공하는 문자열 클래스이다. 하나의 객체를 생성하고, 해당 객체에 문자들을 연결하는 방식)
기초 자료형은 변수가 값을 직접 가르키고,
참조 자료형은 데이터를 담고 있는 객체를 가리킨다.
• 문자형 vs 문자열
public class Main {
public static void main(String[] args) {
char alphabet1 = 'A'; // 문자형
String alphabet2 = "B"; // 문자열
}
}
문자형과 문자열은 몇 가지 차이점이 있다.
char (문자형) | String (문자열) |
' ' (단일 인용부호, Single Quatation) 사용 | " " (따옴표, Double Quotation) 사용 |
기본형 타입 (자료형) | 클래스 |
정수로 출력 | 문자 그대로 출력 |
한 개의 문자 값으로만 이루어짐 | 문자열 맨뒤에 \0 (NULL) 이 항상 저장됨 |
빈 문자열 ('') 과 NULL 로 초기화 불가능 | 빈 문자열 ("") 과 NULL 로 초기화 가능 |
형 변환 (Type Casting)
변수의 타입을 바꾸는 방법으로 명시적 형변환, 묵시적 형변환이 있다.
• 명시적 형변환 (Explicit type conversion)
public class Main {
public static void main(String[] args) {
double doubleNumber = 10.101010;
float floatNumber = 10.1010f;
// double, float -> int 변환
int intNumber;
intNumber = (int)doubleNumber; // 10
intNumber = (int)floatNumber; // 10
}
}
public class Main {
public static void main(String[] args) {
int intNumber = 10;
// int -> double, float 변환
double doubleNumber = (double)intNumber; // 10.0
float floatNumber = (float)intNumber; // 10.0
}
}
• 묵시적 형변환 (Implicit type conversion)
byte(1) -> short(2) -> int(4) -> long(8) -> float(4) -> double(8)
public class Main {
public static void main(String[] args) {
// 암시적 형변환
// byte -> int
byte byteNumber = 10;
int intNumber = byteNumber;
System.out.println(intNumber); // 10
// char -> int
char charAlphabet = 'A';
intNumber = charAlphabet;
System.out.println(intNumber); // 65
// int -> double
intNumber = 200;
double doubleNumber = intNumber;
System.out.println(doubleNumber); // 200.0
// 크기가 큰 타입으로 자동 형 변환
intNumber = 10;
doubleNumber = 5.5;
double result = intNumber + doubleNumber; // 15.5
}
}
반응형
'개발 ━━━━━ > Java' 카테고리의 다른 글
[Java] 기초 문법 - 컬렉션 (Collection) (0) | 2023.08.16 |
---|---|
[Java] 기초 문법 - 배열 (0) | 2023.08.16 |
[Java] Input 값 입력 받는 방법 ① - Scanner 클래스 (0) | 2023.08.16 |
[Java] 기초 문법 - 조건문, 반복문 (0) | 2023.08.15 |
[Java] 기초 문법 - 연산자 (0) | 2023.08.15 |