Java 정수형 변수

김범준·2022년 11월 8일
0

Java

목록 보기
3/10
post-thumbnail

타입

우리가 아는 정수라고 한다면 0을 포함한 자연수이다.
하지만 컴퓨터에선 타입마다 크기가 존재하며 이로 각 타입이 구분된다.

자료형기본값자료크기범위범위
char'\u000’2byte0 ~ 2¹⁶-10 ~ 65535
byte01byte-2⁷ ~ 2⁷-1-128 ~ 127
short02byte-2¹⁵ ~ 2¹⁵ -1-32768 ~ 32767
int04byte-2³¹ ~ 2³¹-1-2,147,483,648 ~ 2,147,483,647
long0L8byte-2⁶³ ~ 2⁶³-1-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

때문에 해당 변수에 들어가는 값이 OverFlow되지 않도록 선언하자

int 타입

가장 기본적인 타입으로 진수 변환이 가능하다.
2진수는 0b, 0B로 시작한다.
8진수는 0으로 시작한다.
16진수는 0x, 0X로 시작한다.

int var2 = 0b1011; //2진수
int var8 = 013;	//8진수
int var10 = 11; //10진수
int var16 = 0xB;	//16진수

byte 타입

아주 작은 친구이다. -128에서 127만큼의 크기 밖에 못들어 가며 더 큰숫자 혹은 작은 숫자가 들어가면 에러가 발생한다.

byte var1 = -128;
byte var2 = 127;
byte varError = 128; //크기 초과로 에러 발생

Long 타입

어마어마한 크기를 다를 수 있는 타입이다. 대신 해당 타입을 쓰려면 데이터 뒤 L을 붙여줘야 한다.(소문자는 1과 비슷해서 대문자로 한다고 한다.)

long var1 = 3000000000L;
long varError = 3000000000; //L을 안붙여 오류

Char 타입

스파이다.
Char은 문자, 정수형을 둘다 집어넣을 수 있다. 다만 문자가 들어간다고 문자가 나오는게 아닌 문자가 들어가면 숫자로 저장되어 출력시 다시 문자가 출력되는 형태이다.
유니코드중 'A'는 65이다.

char var1 = 65;
char var2 = 'A';
System.out.print(var1) //A
System.out.print(var2) //A

위 두 변수 모두 A를 출력한다.

Integer 타입

이놈도 스파이다.
위에 있던 정수형들은 원시타입이다.
어찌보면 int와 비슷해보이지만 Integer은 클래스이며 이로 만든 변수들은 객체가 된다.

Integer var1 = 1
Integer var2 = new Integer(2);
integer var3 = new Integer("3");

와 같이선언 할 수 있으며 객체답게 여러 함수를 가지고 있다.

Integer var1 = 2;
Integer var2 = 3;
int result;
result = Integer.parsInt("1000"); //문자형을 정수형으로 변환한다.
result = Integer.parsInt("B", 16); //16진수를 10진수 정수형으로 변환한다.
int com = Integer.compareTo(var1, var2); //두 수를 비교한다.(왼쪽이 크면1, 작으면 -1, 같으면 0)
profile
그럴싸한 계획을 가지고 있는

0개의 댓글