너와 나의 개발 고리

[JAVA] chap02 변수와 타입_정수 타입 본문

JAVA/이것이 자바다

[JAVA] chap02 변수와 타입_정수 타입

Oli-Viaaaa 2023. 8. 2. 18:10

변수는 선언될 때의 타입에 따라 저장할 수 있는 값의 종류와 허용 범위가 달라진다.

자바는 정수, 실수, 논리값을 저장할 수 있는 기본 타입 8개를 다음과 같이 제공한다.

 

정수 타입은 총 5개로 다음과 같이 메모리 할당 크기와 저장되는 값의 범위를 가지고 있다.

 

다음 예제는 byte 타입 변수에 허용 범위를 초과한 값을 대입했을 경우 컴파일 오류가 발생하는 것을 보여준다.

package chap02.sec01;

public class ByteExample {
	public static void main(String[] args) {
		byte var1 = -128;
		byte var2 = -30;
		byte var3 = 0;
		byte var4 = 30;
		byte var5 = 127;
		// byte var6 = 128; // 컴파일 에러
		
		System.out.println(var1);
		System.out.println(var2);
		System.out.println(var3);
		System.out.println(var4);
		System.out.println(var5);

	}
}

 

long타입은 은행이나 과학분야처럼 수치가 큰 데이터를 다루는 프로그램에서 사용된다.

기본적으로 컴파일러는 정수 리터럴 int 타입 값으로 간주하기 때문에 int 타입의 허용 범위(-2,147,483,648 ~ 2,147,483,67)를 초과하는 리터럴은 뒤에 소문자 'l' 이나 대문자 'L'을 붙여 long 타입 값임을 컴파일러에게 알려줘야 한다.

package chap02.sec01;

public class LongExample {

	public static void main(String[] args) {
		long var1 = 10;
		long var2 = 20L;
		long var3 = 1000000000000; //컴파일러는 int로 간주하기 때문에 에러 발생
		long var4 = 1000000000000L;
		
		System.out.println(var1);
		System.out.println(var2);
		System.out.println(var4);
		
	}
}