자바의 4가지 정수 자료형
- byte, short, int, long
- 정수를 표현하는데 사용되는 바이트 크기에 따라서 구분이 됨
ex) 12정도의 숫자를 저장한다고 하자.
일반적인경우라면 정수 변수를 저장하는데 있어서 int형을 사용하는것이 좋다.
(특별한 경우는 이따가 설명)
32bit 컴퓨터는 연산의 크기가 4byte이다
예를들면 2byte + 2byte라는 연산이 있다면 이것은 2byte짜리를 4byte로 형변환을 한 후
계산을 하게 된다.(기본 단위가 4byte이기 때문에.)
어떻게 보면 상당히 비효율적이게 보인다.
이유는 cpu가 4byte 연산만 할수 있는 설계로 되어있기 때문이다
(1,2,4 byte 연산이 가능하게 설계 하면 좀 느려지며 복잡해진다.)
작은 크기의 정수 저장에는 short? 아니면 int형 변수?
- CPU는 int형 데이터의 크기만 연산 가능하다.
- 때문에 연산 직전에 short 데이터는 int형 데이터로 자동변환이 된다
- 변환의 과정을 생략할 수 있도록 int를 선택한다.
그럼 short와 byte는 왜 필요한가?
특별한경우를 설명하면.
mp3 에 연산장치(CPU)가 있다
음원을 재생 시키는데는 연산의 속도보다 memory 가 중요하다
그러므로 메모리의 효율성을 높이기 위해 short와 byte를 사용한다.
(게임 캐릭터 같이 많은 데이터를 저장하는데에도 사용된다)
- 연산보다 데이터의 양이 중요시 되는 상황도 존재
- MP3 파일, 동영상 파일
- 데이터의 성격이 강하다면 short와 byte를 활용!
자바의 2가지 실수 자료형
- float, double
- float는 소수점 이하 6자리 , double은 12자리 정밀도
(정밀도에 따라서 무엇을 사용할 지 결정.)
실수 자료형의 선택 기준
- float와 double은 모두 매우 충분한 표현의 범위이다
- 이 둘의 가장 큰 차이점은 정밀도.
- 따라서 정밀도를 바탕으로 자료형을 결정한다.
- 일반적으로 double의 선택이 선호됨
실수의 e표기법과 16진수 8진수 표현의 예
보통 실수는 1.2x10^3 이렇게 사용하지만 우리는 타이핑 할때 지수를 표현할 수 없으므로
위와같이 사용한다
1.2x10^-3 = 1.2e-3
1.2x10^3 = 1.2e+3
정수
31 -> 10진수
0x31 -> 16진수 31
031 -> 8진수 31
※문자 자료형 char
ㅋ
컴퓨터는 1과 0밖에 모르니
1과0으로 된 숫자를 문자로 변환해야 한다
이것을 약속 해놓았는데 그것을 유니코드 라고 한다.
자바의 문자 표현
- 문자 하나를 2바이트로 표현하는 유니코드 기반으로 표현(전세계의문자를 모두 표현 가능 2^16이므로)
- 유니코
드는 전 세계의 문자를 표현할 수 있는 코드 집합
- 문자는 작은 따옴표로 표현한다.
ex)
int a = 1; ->정수
char i = '1'; ->문자
- 문자는 char형 변수에 저장한다. 저장 시 실제로는 유니코드 값 저장
※'참'과 '거짓'을 표현하기 위한 자료형 : boolean
논리적인 표현을 위한 두 가지 약속
- true '참'을 의미하는 키워드
- false '거짓' 을 의미하는 키워드
키워드 true와 false 에 대한 좋은 이해
- 숫자의 관점에서 이해하려 들지 말자.
- 자바에서의 true와 false는 그 자체로 저장이 가능한 데이터이다.
- true 와 false의 저장을 위한 자료형 boolean이다.
'IT관련 > JAVA' 카테고리의 다른 글
[난 정말JAVA를 공부한 적이 없다구요] 2-3 실수 표현방식의 이해 (0) | 2013.05.06 |
---|---|
[난 정말JAVA를 공부한 적이 없다구요] 2-2. 정수 표현방식의 이해 (0) | 2013.05.06 |
[난 정말JAVA를 공부한 적이 없다구요] 2-1.변수의 이해와 활용 (0) | 2013.04.16 |
[난 정말JAVA를 공부한 적이 없다구요]1-4 컴파일의 대상에서 제외되는 주석! (0) | 2013.04.16 |
[난 정말JAVA를 공부한 적이 없다구요]1-3 첫번째 자바 프로그램의 관찰과 응용 (0) | 2013.04.16 |