불로구
3강. 기본타입 본문
자바는 정수, 실수, 논리값을 저장할 수 있는 기본타입을 제공한다. (총 8개)
기본타입
정수 타입 |
byte, char, short, int, long |
실수 타입 |
float, double |
논리 타입 |
boolean |
1) 정수타입
타입 |
메모리 사용 크기 |
저장되는 값 허용 범위 |
||
short |
1byte |
8bit |
-2^7 ~ (2^7 - 1) |
-128 ~ 127 |
short |
2byte |
16bit |
-2^15 ~ (2^15 - 1) |
-32,768 ~ 32,767 |
char |
2byte |
16bit |
0 ~ (2^16 ~ -1) |
0 ~ 65535(유니코드) |
int |
4byte |
32bit |
-2^31 ~ (2^31-1) |
-2,147,483,648 ~ 2,147,483,647 |
long |
8byte |
64bit |
-2^63 ~ (2^63 - 1) |
-9,223,372,036,854,775,808 ~ 9223,372,036,854,775,807 |
값의 허용범위를 넘어가면 컴파일 에러!
* char 타입은 음수 값을 가질 수 없다.
-> 나중에 다룰 내용이지만 short와 char의 형변환이 불가능한 이유이다. ^_^
리터럴 : 프로그래머에 의해 직접 입력된 값
2진수 : 0b or 0B로 시작하고 0과 1로 구성
8진수 : 0으로 시작하고 0~7 숫자로 구성
10진수 : 소수점이 없는 0~9 숫자로 구성
16진수 : 0x or 0X로 시작하고 0~9 숫자와 A,B,C,D,E,F or a,b,c,d,e,f로 구성
기본적으로 컴파일러는 정수 리터럴을 int로 간주한다. 그러므로 int의 허용범위가 초과할 경우,
long타입임을 컴파일러에게 알려주기위해 long c = 100L; 을 사용한다.
char 타입
하나의 문자를 작은따옴표(')로 감싼 것을 문자 리터럴이라고 한다. 문자 리터럴은 유니코드로 변환되어 저장된다.
유니코드란? = 세계 각국의 문자를 2byte로 표현할 수 있는 숫자(0 ~ 65535)로 맵핑한 국제 표준 규약
char은 문자를 사용하는데 왜 정수형이지?! -> 유니코드는 정수이므로 char도 정수 타입에 속하는 것이다.
String 타입
큰따옴표(")로 감싼 문자들 (' 와 " 구분을 잘하자!)
( * String 타입은 기본 타입이 아니다!)
2) 실수타입
타입 |
메모리 사용 크기 |
저장되는 값의 허용 범위(양수 기준) |
정밀도(소수점 이하 자리) |
|
float |
4byte |
32bit |
(1.4 * 10^-45) ~ (3.4 * 10^38) |
7자리 |
double |
8byte |
64bit |
(4.9 * 10^-324) ~ (1.8 * 10^308) |
15자리 |
그림을 그릴 수 없어 필기한것으로 대체할게요 ㅠ_ㅠ 참고하시면 좋을 것 같아요!
자바는 실수 리터럴을 기본적으로 doyble 타입으로 해석하기 때문에 double 타입 변수에 저장해야 한다.
실수 리터럴을 float 타입으로 저장하고 싶으면 아까 사진에 있듯이 float a = 100.0F or f 로 선언하자!
double타입은 d를 붙이든 안붙이든 상관없다!
float이 허용하는 소수점 이하 자리는 7자리 , double은 15자리이다.
(즉, 메모리에 여유가 있고 특별한 이유가 없으면 double 타입 사용을 권장!!)
3)논리타입
자바는 참과 거짓을 의미하는 논리 리터럴로 true (T) 와 false (F)를 사용한다. 논리 리터럴은 1byte크기의 boolean 타입 변수에 저장 가능하다.
차이를 아시겠나요?! ( 모르신다면 답변주시면 알때까지 알려드릴게요 ^_^)
오늘은 여기까지!
혹시나 궁금한 점은 댓글로 남겨주세요!
'프로그래밍 > JAVA' 카테고리의 다른 글
6강. (JAVA)자바 - 삼항 연산자 & 조건문(if) (0) | 2020.05.14 |
---|---|
5강. (JAVA)자바 - 변수값 출력 & 연산자 (0) | 2020.05.13 |
4강. (JAVA)자바 - 타입 변환 (0) | 2020.05.11 |
2강. 자바 설치 & 환경설정 (0) | 2020.05.11 |
1강. 자바란 무엇인가? (0) | 2020.05.09 |