3.자료형-숫자
변수와 메모리
- 변수를 선언하면 해당되는 자료형의 크기만큼 메모리가 할당
- 변수는 할당된 메모리를 가리키는 이름
int level = 10; // 4바이트 정수형 메모리가 level이라는 이름으로 할당됨
기본 자료형(primitive data type)의 종류
정수형 | 문자형 | 실수형 | 논리형 | |
1바이트 | byte | - | - | boolean |
2바이트 | short | char | - | - |
4바이트 | int | - | float | - |
8바이트 | long | - | double | - |
byte와 short
- byte : 1바이트 단위의 자료형 동영상, 음악 파일, 실행 파일의 자료를 처리할 때 사용
- short : 2바이트 단위의 자료형 C/C++ 언어와 호환 시 사용
int
- 자바에서 사용하는 정수에 대한 기본 자료형
- 4바이트 단위의 자료형
- 프로그램에서 사용하는 모든 숫자(리터럴)는 int로 저장됨
- 32비트를 초과하는 숫자는 long 자료형으로 처리
long
- 8바이트 자료형
- 숫자의 뒤에 알파벳 L 또는 l을 써서 long형임을 표시함
- ex.
int num = 12345678900; //오류
long lnum = 12345678900; //오류
long lnumber = 12345678900L; // 정상
예제)
public class VariableTest {
public static void main(String [] args) {
byte bnum = -128;
short snum = 55;
int inum = 1234567890;
long lnum = 12345678900L;
System.out.println(bnum);
System.out.println(snum);
System.out.println(inum);
System.out.println(lnum);
}
}
부동 소수점 방식
- 실수는 정수보다 정밀하기 때문에 정수와는 다른 방식으로 표현해야 함
- 부동 소수점 방식으로 실수 값 0.1 표현
- 지수부와 가수부로 표현함
- 컴퓨터에서는 실수를 2로 사용
- 정규화 : 기수가 밑수보다 작은 한 자리까지 기수로 표현되는 것
- 컴퓨터에서는 밑수가 2이므로 정규화를 하게 되면 기수 부분의 첫 번째 자리 숫자는 항상 1 임
ex. 0.2 표현 0.4 X 2^-1 정규화하면 1.6 X 2^-3
float형과 double형
- 자바에서는 실수의 기본 타입은 double형을 사용함
예제)
public class DoubleTest {
public static void main(String[] args) {
double dnum = 3.14;
float fnum = 3.14F;
System.out.println(dnum);
System.out.println(fnum);
}
}