728x90
자료형 : 변수의 특성을 결정짓는 키워드
유형 | 설명 |
기본 자료형 (primitive data type) |
* 자바 컴파일러에 의해서 해석되는 자료형 * 실제 값을 갖는 자료형 * 자바에서 여러 형태의 타입을 미리 정의하여 제공 * 정수, 실수, 문자, 논리를 저장하는 자료형 |
참조 자료형 (reference data type) |
*값이 아닌 객체의 주소를 가지고 있는 자료형 *자바 라이브러리 API에서 제공되거나 프로그래머에 의해서 만들어진 클래스를 자료형으로 선언하는 경우 *배열, 클래스, 인터페이스 타입 자료형 |
기본자료형
상수(Constant) : 항상 일정한 값을 유지하는 데이터
변수(Variable) : 특정 상황에 따라 값이 변하는 데이터
자료형(Data Type) : 여러 종류의 데이터를 식별하는 분류, 그 종류에 따라서 각각 다른 메모리의 크기를 갖는다.
타입 | 메모리크기 | default | 표현범위 | |
논리값 | Boolean | 1 bit | FALSE | true, false |
문자 | Char | 2 byte | \0 | '\u0000' ~ '\uFFFF' |
정수 | byte | 1 byte | 0 | -128 ~ -127 (-2^7~2^7-1) |
Short | 2byte | 0 | -32,768 ~ 32,767 (-2^15~2^15-1) | |
Int | 4 byte | 0 | -2^31 ~ 2^31-1 | |
Long | 8 byte | 0 | -2^63 ~ 2^63-1 | |
실수 | Float | 4 byte | 0.0 | 1.4 * 10^-45 ~ 3.4 * 10^38 |
Double | 8 byte | 0.0 | 4.9* 10^-324 ~ 1.8 * 10^308 |
진법 표현
package variable;
public class BinaryTest {
public static void main(String[] args) {
int num = 10;
int bNum = 0b1010; // 10, 2진법은 0b를 붙임
int oNum = 012; // 10, 8진법은 0을 붙임
int xNum = 0xA; // 10, 16진법은 0x를 붙임
}
}
묵시적 형변환 : 표현 범위가 낮은 자료형은 표현 범위가 높은 자료형으로 자동으로 변경 가능.
명시적 형변환 : 표현 범위가 높은 자료형은 표현 범위가 낮은 자료형으로 자동으로 변경 불가능. 데이터 앞에 (자료형) 넣어서 변경.
package variable;
public class Conversion {
public static void main(String[] args) {
// 1: 묵시적 형 변환 byte(1byte) => int(4byte)
byte bNum = 10;
int iNum = bNum;
// 2 : 명시적 형 변환
int i = 1000;
byte bNum = (byte)i; // -24 : 데이터의 유실 발생 byte = -128~127
// 3 : Truncate 발생
double dNum1 = 1.2;
float fNum = 0.9F;
int iNum1 = (int)dNum1 + (int)fNum; // 1 + 0
int iNum2 = (int)(dNum1 + fNum); // 1.2 + 0.9
System.out.println(iNum1); // 1
System.out.println(iNum2); // 2
}
}
반응형
'공부 > JAVA' 카테고리의 다른 글
[JAVA] Extends 와 Super (0) | 2022.06.22 |
---|---|
[JAVA] 제네릭(Generic) (0) | 2022.06.21 |
[JAVA] 배열복사 메서드 ( Object.clone, Arrays.copyOf(Range), System.arrayCopy) (0) | 2022.06.11 |
ArrayList(LinkedList) 를 String으로 변환하는 방법 (JAVA) (0) | 2022.05.24 |
[JAVA] GUI 계산기 만들기 (0) | 2022.05.21 |
댓글