JAVA 시작하기 - 자료형의 종류 (정수형)

Big Jay·2023년 5월 15일
0

Java 시작하기

목록 보기
4/14
post-thumbnail

정수 자료형

정수 자료형은 양수, 음수, 0을 나타내는 데 사용하는 자료형이다.
4가지 자료형이 있으며, 각 자료형은 메모리에서 사용하는 바이트 수와 용도가 다르다.

자료형바이트 크기수의 범위
byte1-2⁷~2⁷-1
short2-2¹⁵~2¹⁵-1
int4-2³¹~2³¹-1
long8-2⁶³~2⁶³-1

1. byte형

1바이트는 8비트이다. 바이트 단위의 정보를 저장하거나 통신할 때 주로 사용하며,
예로 동영상이나 음악 파일을 재생할 때 또는 네트워크로 데이터를 전송할 때 사용한다.

public class HelloJava {
	public static void main(String[] args) {
		byte bs1 = -128;
		byte bs2 = 128; //Type mismatch: cannot convert from int to byte
	}
}

byte형으로 표현할 수 있는 범위는 -2⁷~2⁷-1(-128~127)까지 이므로 128은 에러가 난다.

2. short형

2바이트로 정수를 표현하는 자료형으로 범위는 -2¹⁵~2¹⁵-1(-32,768~32,767)이다.

3. int형

정수 표현할 때 가장 많이 사용하는 자료형이다. 유효 범위는 -2³¹~2³¹-1(-2,147,483,648~2,147,483,647)로 꽤 큰 범위의 정수를 나타낼 수 있으며, int형을 가장 많이 사용하는 이유는 컴퓨터에서 정수로 연산 할 때 4바이트 단위로 처리하는 것이 가장 효율적이기 때문이다.

만약 자료형이 다른 정수끼리 더하면 어떻게 될까?

public class HelloJava {
	public static void main(String[] args) {
		short sVal = 10;
		byte bVal = 20;
		System.out.println(sVal + bVal); // 30;
	}
}

프로그램이 실행되어 정수 값을 연살 할 때 4바이트를 기본 단위로 사용하기 때문에 두 정수를 더하기 전에 두 정는 모두 int형으로 변환된다.

4. long형

long형은 자바에서 정수를 표현하는 가장 큰 단위의 자료형으로, 범위는 -2⁶³~2⁶³-1으로 int형 범위를 넘어서는 정수를 사용할 때 long형을 사용하는데 주의사항이 있다.

public class HelloJava {

	public static void main(String[] args) {
		int num1 = 12345678900; //The literal 12345678900 of type int is out of range
		long num2 = 12345678900; // The literal 12345678900 of type int is out of range
	}

}

위 예제에서 둘 다 int형의 범위를 넘었다고 나타나고 있다. 이는 위에서 설명했듯이 자바는 모든 정수 값을 기본으로 int형으로 처리하기 때문이다.

package hello;

public class HelloJava {

	public static void main(String[] args) {
		long num2 = 12345678900L;
	}

}

long형으로 처리하라고 컴파일러에게 알려줘야 하는데 방법은 위와 같이 값 뒤에 식별자인 L 또는 l을 사용한다. 하지만 소문자는 숫자 1과 햇갈리므로 대문자를 쓰는 것이 좋다.

profile
안녕하세요.

0개의 댓글