java에서 프로그래밍을 사용하기 위해 선언하는 것을 변수라고 합니다. 이러한 변수는 데이터 값에 따라 자료형이 달라집니다. 이러한 자료형에 대하여 알아봅시다.
Java 자료형
- 정수형
- 실수형
- 문자형
- 논리형
- var
정수형
변수에 저장되는 데이터 값이 정수일 때 사용하는 자료형입니다.
크기 | 1byte | 2byte | 4byte | 8byte |
자료형 | byte | short | int | long |
정수형 자료형은 위의 표에 적힌 것과 같이 byte, short, int, long가 있습니다. 각각의 크기를 byte로 표기하였는데 컴퓨터에서 인식할 수 있는 신호는 0과 1로 이루어져 있으므로 0 혹은 1을 나타낼 수 있는 메모리 공간을 1bit라고 하며 8bit를 1byte로 부릅니다. 따라서 자료형 byte에는 2진수로 00000000부터 11111111까지의 값이 들어갈 수 있는 메모리 공간이 있습니다. 정수형이기 때문에 음수도 존재하므로 제일 앞의 0과 1을 양수인지 음수인지를 나타내므로 byte에서 숫자의 메모리는 7bit가 되어 -128 ~ 127까지의 수를 표현할 수 있습니다. 다른 정수형 자료형도 이와 같은 식으로 사용됩니다. 사용방법은 아래의 예시와 같습니다.
byte a = 1;
short b = -14;
int c = 543;
long d = -99839L;
long의 경우는 숫자 뒤에 L을 붙이게 되는데 java에서 숫자는 기본적으로 리터럴에 int형으로 저장되어 있으므로 범위가 큰 long을 선언 시에 long자료형인 것을 표현하기 위하여 L을 붙여줍니다. 리터럴에 대해서는 다음에 설명하겠습니다.
실수형
실수까지 표현을 하고 싶은 경우 사용하는 자료형입니다. 정수형과 달리 2가지만 존재합니다.
크기 | 4byte | 8byte |
자료형 | float | double |
double형의 경우는 정수형과 같이 첫 번째 비트는 부호를 담당하고 2 번째 비트부터 12 번째 비트는 지수부라고 부르며 소수점의 위치를 정해줍니다. 그리고 나머지 비트를 가수 부라고 부르며 실제 숫자의 크기를 담당합니다.
float형의 경우는 첫 번째 비트는 부호를 2번째부터 9번째 비트까지는 지수부, 10번째부터는 가수부가 됩니다.
double a = 1.02;
float b = 4.1F;
선언 방식은 위와 같습니다. float의 경우 정수형에서 long과 같은 이유로 소수는 기본적으로 리터럴에 double형으로 저장되어 있습니다. 따라서 float형을 표현하기 위하여 F를 붙여줍니다.
문자형
문자 하나를 저장할 때 사용하는 자료형입니다.
char firstRank = 'S';
char secondRank = 'A';
char firstAlphabet = 'a';
선언을 하는 방법은 위와 같이 합니다. 자료형과 변수의 이름을 작성하고 저장하고 싶은 문자는 작은따옴표 사이에 적어주면 됩니다. 문자 대신 숫자를 사용하기도 하는데 이때 숫자는 유니코드를 통하여 숫자가 담당하는 문자로 변하게 됩니다.
논리형
논리 값인 참과 거짓을 표현하는 자료형입니다. 따라서 0과 1로 표현할 수 있어 1bit의 크기를 가진 자료형이고 선언 방법은 아래와 같습니다.
boolean a = true;
bollean b = false;
var
위의 자료형을 사용하지 않고 변수를 선언하는 방법입니다. 저장되는 자료형에 따라 알아서 자료형을 가지게 되고 사용을 할 수 있는 곳은 지역변수에 한정하여 사용할 수 있습니다. 지역변수가 무엇인지는 다음에 설명드리겠습니다.
var a = 10;
var b = 10.5;
var c = 's';
var d = "hello";
선언은 위와 같이 하고 a는 int형을 가지게 되고 b는 double형, c는 char형, d는 String형을 가지게 됩니다. String형은 문자열형으로 다음에 설명드리겠습니다. 위와 같이 var로 선언 후 입력되는 자료형을 받아오게 되고 한번 선언된 자료형은 변수의 값을 바꾼다고 바뀌지 않습니다.