기본 자료형
자바에서 기본으로 제공하는 자료형은 다음과 같다.
메모리 크기
|
정수형
|
문자형
|
실수형
|
논리형
|
1 byte
|
byte
|
boolean
|
||
2byte
|
short
|
char
|
||
4byte
|
int
|
float
|
||
8byte
|
long
|
double
|
1. 정수형
양수, 0, 음수를 나타내는 데 사용하는 자료형
위의 표에서 보았듯이 정수는 4가지 형태의 자료형으로 나타낼 수 있다. 각 자료형은 메모리에서 사용하는 바이트 수와 용도가 다르다.
자바에서는 정수형의 기본으로 int형을 사용한다. 각 자료형의 범위를 벗어나는 값은 허용하지 않는다. 따라서 값의 크기를 생각해서 메모리를 낭비하지 않고 변수를 선언해야 한다.
※ long의 경우
자바는 기본적으로 int로 자료를 처리하기 때문에 그보다 작은 byte나 short에서는 오류가 나지 않는다.
하지만 long은 int 형보다 크기 때문에 자바에게 우리가 long으로 선언했다는 것을 알려줘야 한다.
따라서
이처럼 변수의 값 마지막에 L 또는 l을 붙여서 자바에게 이것은 long 타입으로 선언해야 한다고 알려줘야 한다.
2. 문자 자료형
문자자료형의 기본은 char이다.
char에는 1 byte의 크기만 담을 수 있어 영어 글자 하나만 담을 수 있다.
하지만 모든 문자형 변수가 한 글자는 아니므로 우리는 String이라는 것을 사용한다.
Strign은 Class 타입이지만 여기서 함께 배웠다.
char는 작은따옴표 안에 값을 저장하고 String은 큰따옴표 안에 저장한다.
위의 표와 같이 사용할 수 있다.
문자를 변수에 대입하면 문자 그대로 컴퓨터에 저장되는 것이 아니라 그 문자에 해당하는 정숫값(아스키코드 값)이 저장된다.
※문자형 변수에 숫자를 저장한다면?
: char는 문자 자료형이지만 컴퓨터 내부에는 정숫값으로 표현되기 때문에 정수 자료형으로 분류하는 경우도 있다. 다만, char형은 음수 값을 표현할 수 없다.
3. 실수 자료형
3.14를 표현한다고 했을 때 가수 3과 지수. 14로 나누어 표현하는 것. 부동 소수점 방식을 사용한다.
※부동 소수점 방식 : 실수를 가수 부분과 지수 부분을 나누어서 실수를 나타내는 것
① float형
: 부호를 표시하기 위해 1비트, 지수부 8비트, 가수부 23비트로 총 4 바이트 사용
② double형
: 부호 1비트, 지수부 11비트, 가수부 52비트로 총 8바이트 사용
자바에서는 실수형을 표현할 때 double형을 기본으로 사용한다.
정수형에서 int형을 기본으로 사용하고, long을 쓸 때 L나 l를 뒤에 붙여주는 것처럼
실수형도 double형이 기본이므로 float형을 사용할 때는 F 나 f를 붙여준다.
4. 논리 자료형
논리 자료형은 어떤 변수의 참, 거짓 값을 나타내는데 사용합니다.
종류는 boolean 타입하나이고 true, false만 대입할 수 있고, 결과 값도 true, false 두 가지만 나타낸다.
5. 자료형 없이 변수 선언하기
지금까지 배운바로는 모든 변수를 사용할 때는 사용할 자료명을 확실하게 명시해야 한다.
어떤 변수가 얼마만큼의 메모리를 사용하고, 어떤 방식으로 그 값을 저장할지 자료형으로 선언해주는 것이다.
이런식으로 variable의 앞을 따서 var형이라고 하고 변수에 대입되는 자료를 보고 자바가 추측하여 컴파일한다.
※ 주의할 점
① var 형으로 선언한 자료형 변수는 다른 자료형으로 사용할 수 없다.
라고 선언한다면 str 이라는 변수는 이미 문자열을 담는 String으로 선언되었으므로 다시 정수를 넣을 수는 없다.
② var로 자료형 없이 변수를 선언하는 방법은 "지역변수"만 가능
지역변수라는 것은 method안에서만 사용이 가능하다는 것이다.
전역변수라는 말도 있는데 전역 변수는 Class안에 들어있는 변수를 말한다.