java

기본 자료형

뚜벅뚜벅뚜벅이 2022. 7. 9. 20:02
반응형

자바에서 기본으로 제공하는 자료형은 다음과 같다.

메모리 크기
정수형
문자형
실수형
논리형
1 byte
byte
   
boolean
2byte
short
char
   
4byte
int
 
float
 
8byte
long
 
double
 

1. 정수형

양수, 0, 음수를 나타내는 데 사용하는 자료형

위의 표에서 보았듯이 정수는 4가지 형태의 자료형으로 나타낼 수 있다. 각 자료형은 메모리에서 사용하는 바이트 수와 용도가 다르다.

자바에서는 정수형의 기본으로 int형을 사용한다. 각 자료형의 범위를 벗어나는 값은 허용하지 않는다. 따라서 값의 크기를 생각해서 메모리를 낭비하지 않고 변수를 선언해야 한다.

※ long의 경우

자바는 기본적으로 int로 자료를 처리하기 때문에 그보다 작은 byte나 short에서는 오류가 나지 않는다.

하지만 long은 int 형보다 크기 때문에 자바에게 우리가 long으로 선언했다는 것을 알려줘야 한다.

따라서

long =123456789L;

이처럼 변수의 값 마지막에 L 또는 l을 붙여서 자바에게 이것은 long 타입으로 선언해야 한다고 알려줘야 한다.

2. 문자 자료형

문자자료형의 기본은 char이다.

char에는 1 byte의 크기만 담을 수 있어 영어 글자 하나만 담을 수 있다.

하지만 모든 문자형 변수가 한 글자는 아니므로 우리는 String이라는 것을 사용한다.

Strign은 Class 타입이지만 여기서 함께 배웠다.

char는 작은따옴표 안에 값을 저장하고 String은 큰따옴표 안에 저장한다.

char a ='A' String b ="안녕하세요"

위의 표와 같이 사용할 수 있다.

문자를 변수에 대입하면 문자 그대로 컴퓨터에 저장되는 것이 아니라 그 문자에 해당하는 정숫값(아스키코드 값)이 저장된다.

※문자형 변수에 숫자를 저장한다면?

: 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. 자료형 없이 변수 선언하기

지금까지 배운바로는 모든 변수를 사용할 때는 사용할 자료명을 확실하게 명시해야 한다.

어떤 변수가 얼마만큼의 메모리를 사용하고, 어떤 방식으로 그 값을 저장할지 자료형으로 선언해주는 것이다.

var i =10; var j =10.0; var str ="hello";

이런식으로 variable의 앞을 따서 var형이라고 하고 변수에 대입되는 자료를 보고 자바가 추측하여 컴파일한다.

※ 주의할 점

① var 형으로 선언한 자료형 변수는 다른 자료형으로 사용할 수 없다.

var i str ="hello";

라고 선언한다면 str 이라는 변수는 이미 문자열을 담는 String으로 선언되었으므로 다시 정수를 넣을 수는 없다.

srt = "test"; //같은 문자열이므로 대입가능 srt = 3; //이미 문자열로 선언되었음으로 정수형자료는 입력 불가

② var로 자료형 없이 변수를 선언하는 방법은 "지역변수"만 가능

지역변수라는 것은 method안에서만 사용이 가능하다는 것이다.

전역변수라는 말도 있는데 전역 변수는 Class안에 들어있는 변수를 말한다.

반응형