자바[JAVA] – 2. 기본형 (Primitive Type)

자료형?

자료형(Data Type)이란 변수를 저장하는 유형을 의미한다.
자바에는 기본형(Primitive Type)참조형(Reference Type)이 있다.
본 포스팅에서는 기본형에 대해 설명한다.

기본형?

자바의 기본형 중에는 크게 4가지 정수형, 실수형, 문자형, 논리형이 있다.
변수를 선언할 때 아래처럼 선언한다.

기본형 변수 선언

● 정수형(Integer)

정수형은 4가지의 표현 방식이 있다. byte, short, int, long

Java
byte numByte = 1;  // 8bits ⇒ 2^8
short numShort;  // 16bits => 2^16
int numInt;  // 32bits => 2^32
long numLong;  // 64bits => 2^64

위처럼 기본형(btye) 변수 이름(numByte) = 데이터 값(1); 로 선언한 걸 볼 수 있다.
또한 밑에 예시들처럼 데이터 값을 선언하지 않아도 된다.
자바는 signed(부호가 있는)을 사용한다.
즉 btye의 경우 ‘-2^7 ~ 2^7-1‘까지 표현할 수 있다.
이때 2^7-1 인 이유는 ‘0‘을 표기해야 하기 때문이다.

● 실수형(Float)

실수형은 2가지의 표현 방식이 있다. float, double

Java
float numFloat = 3.14f;  // 32bits
double numDouble;  // 64bits

단 값을 입력 시 num = 3.14f; 와 같이 ‘f‘를 꼭 붙여줘야 된다.

만약 소수점 출력을 하고 싶으면

Java
System.out.printf(”%.3f”, numFloat);  // 소수점 3번째까지 출력

이런 식으로 print가 아닌 ‘printf‘를 사용해야 한다.
이때 버려지는 소수점이 생기면 반올림을 한다.

Java
float num = 2.88f;
System.out.printf(”%.1f”, num);

=> 2.9

● 문자형(Character)

문자형은 문자를 표현하기 위한 자료형이다. char

  • String은 클래스(Class)로 기본형이 아닌 참조형이다
Java
char alphabet = 'a';  //16bits

여기서 주의할 점은 문자열이 아닌 문자이기 때문에 “a”가 아닌 ‘a’를 써줘야 한다.
또한 ‘ab’ 나 “ab”같은 경우 오류가 생긴다.

추가로 char은 문자형이기 때문에 숫자를 넣어도 문자로 출력할 수 있다.
이때 출력되는 문자는 아스키코드(ASCII)를 따라간다.

Java
char alphabet = 65;  // 아스키코드로 65는 A 이다.
System.out.println(alphabet);

=> A

● 논리형(Boolean)

논리형은 C언어에는 없는 것으로 true와 false 즉, 참과 거짓을 나타낼 때 사용한다. boolean

Java
boolean yesNo = true;  //1bit

● 형변환(Type Casting)

형변환은 위에서 배운 자료형들의 유형을 변환하는 것이다.
형변환을 하기 위해서는 (바꿀 기본형)을 넣으면 된다.
하지만 boolean은 예외적으로 형변환을 할 수 없다.

형변환 하는 법
Java
int num = 5;

float intToFloat = (float)num;  // int형 변수인 num을 float으로 변환
char intToChar = (char)num;  // char로 변환
byte intToByte = (int)num;  // 같은 정수형끼리도 변환이 가능

float -> int의 경우 소수점은 생략된다.

Java
float num = 5.7f;
System.out.println(num);

int floatToInt = (int)num;
System.out.println(floatToInt);

=> 5.7
   5