자바 기본 데이터형 크기에 대한 사항이다.
데이터형 |
예약어 |
비트수 |
범위 |
①논리형 |
boolean |
8bit
(1바이트) |
true, false |
②문자형 |
char |
16bit |
수치로는 0 ~ 65535('\u0000'~'\uFFFF') 유니코드:영어,숫자-1바이트, 그외 다국어-2바이트 |
③수치형 (정수) |
byte |
8bit (1바이트) |
-128 ~ 127(-2의7제곱~2의7제곱-1) 개수:2의8제곱 |
④수치형 (정수) |
short |
16bit (2바이트) |
-32,768 ~ 32,767(-2의15제곱~2의15제곱-1) 개수:2의16제곱 |
⑤수치형 (정수) |
int |
32bit (4바이트) |
-2,147,483,648 ~ 2,147,483,647(-2의31제곱~2의31제곱-1) 개수:2의32제곱 |
⑥수치형 (정수) |
long |
64bit (8바이트) |
-9,223,372,036,854,775,808~9,223,372,036,854,775,807 (-2의63제곱~2의63제곱-1) 개수:2의64제곱 |
⑦수치형 (실수형) |
float |
32bit (4바이트) |
±3.40282347E+38, ±1.40239846E-45, IEEE 754-1985표준 |
⑧수치형 (실수형) |
double |
64bit (8바이트) |
-1.79769313486231570E308~+1.79769313486231570E308 |
출처: http://aventure.tistory.com/59 [H.A.P.P.Y]
데이터형 | 예약어 | 비트수 | 범위 |
①논리형 | boolean | 8bit (1바이트) | true, false |
②문자형 | char | 16bit | 수치로는 0 ~ 65535('\u0000'~'\uFFFF') 유니코드:영어,숫자-1바이트, 그외 다국어-2바이트 |
③수치형 (정수) | byte | 8bit (1바이트) | -128 ~ 127(-2의7제곱~2의7제곱-1) 개수:2의8제곱 |
④수치형 (정수) | short | 16bit (2바이트) | -32,768 ~ 32,767(-2의15제곱~2의15제곱-1) 개수:2의16제곱 |
⑤수치형 (정수) | int | 32bit (4바이트) | -2,147,483,648 ~ 2,147,483,647(-2의31제곱~2의31제곱-1) 개수:2의32제곱 |
⑥수치형 (정수) | long | 64bit (8바이트) | -9,223,372,036,854,775,808~9,223,372,036,854,775,807 (-2의63제곱~2의63제곱-1) 개수:2의64제곱 |
⑦수치형 (실수형) | float | 32bit (4바이트) | ±3.40282347E+38, ±1.40239846E-45, IEEE 754-1985표준 |
⑧수치형 (실수형) | double | 64bit (8바이트) | -1.79769313486231570E308~+1.79769313486231570E308 |
출처: http://aventure.tistory.com/59 [H.A.P.P.Y]
위 표에 대한 출처는 위 사이트고
아래 내용을 "난 Java를 공부한 적이 없다구요" 동영상 강좌 자료를 들으면서 기본 개념 잡는데 많은 도움이 될 거 같아서 안드로이드 개발 도움 관점으로 요약 정리하고 있다.
자바의 정석 책을 부분 부분 참조를 하다보니 이해를 못하고 넘어가는 경우가 많다. 결국 개발시간을 허비하는 결과로 이어지기 일쑤여서 기본기를 다지는 것이 중요하다는 느끼는데 막상 자바 혼자 공부하려면 쉽지 않더라.
자동형변환 규칙(Impict conversion)
명시적 형변환 : 자동형변환 발생시점 표시를 위해서, 규칙에 위배되지만 변환이 필요한 상황
- int num2 = (int) num1;
- logn num4 = (long) num3;
- 형 변환 나눗셈 예제 : (float)9/4; // 먼저 9가 형변환되어 9.0f 로 변경되고 4 가 4.0f로 변환되어 연산 수행
. 피 연산자가 정수면 정수형 연산 수행
. 피 연산자가 실수면 실수형 연산 수행, 단 % 연산제 제외.
비트 연산의 특징
- left shift 연산자 (<<) : 대상 필드의 값을 2진 비트로 바꾼 후에 왼쪽으로 특정 비트 수만큼 이동 시키고 빈자리는 0으로 채우는 연산자이다.
- right shift 연산자(>>) : 대상 필드의 값을 2진수로 바꾼 후 오른쪽으로 특정 비트 수만큼 이동시키고 빈자리는 양수일때 0, 음수일때는 1로 채우는 연산자이다.
- 왼쪽으로의 비트 열 이동은 2의 배수의 곱
예) 2<<2 : 2 X 2의 제곱 = 2 X 4 = 8
1<<5 : 1 X 2의 5제곱 = 1 X 32 = 32
- 오른쪽으로의 비트 열 이동은 2배 배수의 나눗셈
예) 8 >> 1 ; 8 / 2 = 4 출력
8 >> 2 ; 8 / 4 = 2 출력
'안드로이드 > Java 문법' 카테고리의 다른 글
Java static 변수 이해하기 (0) | 2017.10.20 |
---|---|
[Java] 정보은닉과 캡슐화 (0) | 2017.10.16 |
Java 클래스(Class) ★★★★★ (0) | 2017.05.04 |
ArrayList and HashMap (0) | 2017.03.06 |
Java foreach 문 (0) | 2017.03.01 |