CodeGym /행동 /JAVA 25 SELF /정수: int 타입, int 연산

정수: int 타입, int 연산

JAVA 25 SELF
레벨 2, 레슨 1
사용 가능

1. int 타입을 자세히 알아보기

변수에 정수를 저장하려면 int 타입을 사용해야 합니다.

int는 Integer(영어로 “정수”라는 뜻)의 축약형으로, 이 타입이 정수를 저장할 수 있음을 나타냅니다.

int 타입 변수는 -20억부터 +20억까지 정수를 저장할 수 있습니다. 좀 더 정확히 말하면, -2,147,483,648부터 2,147,483,647까지입니다.

흥미로운 사실

이처럼 딱 떨어지지 않는 값은 컴퓨터 메모리의 구조와 관련이 있습니다.

Java에서 int 타입은 4바이트 메모리를 사용합니다. 각 바이트는 8비트로 이루어져 있으며, 각 비트는 2개의 값 — 0 또는 1만 가질 수 있습니다. int 변수는 32비트이므로 총 4,294,967,296개의 서로 다른 값을 표현할 수 있습니다.

이 범위의 절반은 음수, 나머지 절반은 양수에 할당됩니다. 그래서 범위가 -2,147,483,648부터 2,147,483,647까지가 됩니다.

2. int 타입 변수 만들기

int 타입은 정수를 저장하기 위한 타입입니다. 정수를 저장할 수 있는 변수를 코드에서 만들려면 다음과 같은 형태의 명령을 사용합니다:

int imya;
int 타입 변수 선언

여기서 imya는 변수의 이름입니다. 예:

명령 설명
int x;
정수형 변수 x가 생성됩니다
int count;
정수형 변수 count가 생성됩니다
int currentYear;
정수형 변수 currentYear가 생성됩니다

대소문자를 구분합니다: int color와 int Color는 서로 다른 두 변수를 선언합니다.

Int Color와 INT COLOR 같은 명령은 컴파일러가 전혀 이해하지 못해 오류가 발생합니다. int는 정수 타입을 나타내는 키워드이며 반드시 소문자로만 씁니다.

3. 변수 선언의 축약 표기

프로그램의 한 위치에서 같은 타입의 변수를 여러 개 만들어야 한다면, 다음과 같은 축약 표기를 사용할 수 있습니다:

int imya1, imya2, imya3;
같은 타입의 여러 변수를 한 줄로 선언

예:

명령 동일 명령의 축약형
int x;
int y;
int z;
int x, y, z;
int count;
int totalCount;
int count, totalCount;
int day;
int month;
int year;
int day, month, year;

4. 값 할당

int 타입 변수에 값을 넣으려면 다음 명령을 사용합니다:

imya = znachenie;
변수에 값 대입

여기서 값은 임의의 정수식일 수 있습니다. 예:

명령 비고
int a;
a = 5;
int b;
b = 2*1000*1000*1000;
변수에는 “20억” 값이 들어갑니다
int c;
c = -10000000;
변수에는 “마이너스 천만” 값이 들어갑니다
int d;
d = 3000000000;
컴파일되지 않습니다. 3,000,000,000은 int 타입의 최댓값 2,147,483,647보다 크기 때문입니다

5. 변수 선언과 초기화의 축약 표기

변수 생성(선언)과 값 대입을 한 문장으로 쓸 수 있습니다. 보통은 이렇게 쓰는데, 변수가 필요해지는 시점에 어떤 값을 저장하는 경우가 많기 때문입니다.

명령은 다음과 같습니다:

int imya = znachenie;
변수 선언과 초기화를 한 줄로 작성

예:

명령 비고
int a = 5;
int b = 2*1000*1000*1000;
변수에는 “20억” 값이 들어갑니다
int c = -10000000;
변수에는 “마이너스 천만” 값이 들어갑니다
int d = 3000000000;
컴파일되지 않습니다. 3,000,000,000은 int 타입의 최댓값 2,147,483,647보다 큽니다

한 줄에서 여러 변수를 선언할 수도 있습니다. 이 경우 명령은 다음과 같습니다:

int imya1 = znachenie1, imya2 = znachenie2, imya3 = znachenie3;
여러 변수를 선언과 동시에 초기화하는 축약 표기

예:

명령 비고
int a = 5, b = 10, c = a + b;
a는 5, b는 10, c는 15가 됩니다

6. 정수 표현식 계산

대입 연산자(등호) 오른쪽에는 임의의 표현식 — 숫자, 변수, 그리고 +, -, *, / 기호의 조합 — 이 올 수 있습니다.

괄호 ( )도 사용할 수 있습니다. Java에서도 수학과 마찬가지로 괄호 안의 표현식을 먼저 계산하고, 그다음 바깥을 계산합니다. 곱셈과 나눗셈은 같은 우선순위를 가지며, 덧셈과 뺄셈보다 우선합니다.

예:

명령 비고
int a = (2 + 2) * 2;
변수에는 8이 들어갑니다
int b = (6 - 3) / (9 - 6);
변수에는 1이 들어갑니다
int c = (-2) * (-3);
변수에는 6이 들어갑니다
int d = 3 / 0;
이 문장을 실행하면 오류가 발생하고 프로그램이 종료됩니다.

표현식에는 변수도 참여할 수 있습니다:

int a = 1;			// 변수 a에는 값 1이 들어갑니다
int b = 2;			// 변수 b에는 값 2가 들어갑니다
int c = a * b + 2;	// 변수 c에는 값 4가 들어갑니다

더 나아가, 동일한 변수가 대입 연산자 왼쪽과 오른쪽에 동시에 등장할 수도 있습니다:

int x = 5;		// 변수 x에는 값 5가 들어갑니다
x = x + 1;		// 변수 x에는 값 6이 들어갑니다
x = x + 1;		// 변수 x에는 값 7이 들어갑니다
x = x + 1;		// 변수 x에는 값 8이 들어갑니다
x = x + 1;		// 변수 x에는 값 9가 들어갑니다
x = x + 1;		// 변수 x에는 값 10이 들어갑니다

중요한 점은, Java에서 = 기호는 “같다”를 의미하는 기호가 아니라, = 왼쪽의 변수에 = 오른쪽 표현식을 계산한 결과 값을 저장하는 “대입” 명령이라는 것입니다.

7. 정수 나눗셈

Java에서 정수를 정수로 나누면 결과는 항상 정수입니다. 이때 나머지는 버려집니다. 즉, 소수 부분을 버린다고 볼 수 있습니다.

예:

명령 나눗셈 결과 비고
int a = 5 / 2;
2.5 변수 a에는 2가 들어갑니다
int b = 20 / 3;
6.6667 변수 b에는 6이 들어갑니다
int c = -6 / 5;
-1.2 변수 c에는 -1이 들어갑니다
int d = 1 / 2;
0.5 변수 d에는 0이 들어갑니다

8. 정수 나머지 연산

정수에 대해 Java에는 덧셈, 뺄셈, 곱셈, 나눗셈 외에 “나머지” 연산자도 있습니다. 퍼센트 기호 %를 사용합니다. 이는 소수 부분이 아니라 정수를 정수로 나눌 때의 “나머지” 그 자체입니다.

예:

명령 나눗셈 결과 비고
int a = 5 % 2;
몫 2, 나머지 1 변수 a에는 1이 들어갑니다
int b = 20 % 4;
몫 5, 나머지 0 변수 b에는 0이 들어갑니다
int c = 9 % 5;
몫 1, 나머지 4 변수 c에는 4가 들어갑니다
int d = 1 % 2;
몫 0, 나머지 1 변수 d에는 1이 들어갑니다

이는 매우 유용한 연산자로, 빈번하게 사용됩니다. 예를 들어 어떤 수가 짝수인지 아닌지 알아보려면 2로 나눈 나머지를 0과 비교하면 됩니다. 나머지가 0이면 짝수, 1이면 홀수입니다.

검사는 다음과 같이 작성합니다:

(a % 2) == 0

이미 짐작하셨겠지만, a % 2는 2로 나눈 나머지(즉 0 또는 1)를 구하는 것이고, ==는 0과 비교할 때 사용합니다.

9. 인크리먼트와 디크리먼트

프로그래밍에서는 변수를 1만큼 늘리거나 줄여야 할 때가 매우 많습니다. Java에는 이를 위한 전용 연산자가 있습니다:

인크리먼트(1 증가) 연산자는 다음과 같습니다:

a++;
1 증가

이 명령은 a = a + 1;과 동일하게 동작하며, 변수 a를 1 증가시킵니다.

디크리먼트(1 감소) 연산자는 다음과 같습니다:

a--;
1 감소

이 명령은 a = a - 1;과 동일하게 동작하며, 변수 a를 1 감소시킵니다.

예제 1

int x = 5;		// 변수 x에는 값 5가 들어갑니다
x++;			// 변수 x에는 값 6이 들어갑니다
x++;			// 변수 x에는 값 7이 들어갑니다
x++;			// 변수 x에는 값 8이 들어갑니다
x++;			// 변수 x에는 값 9가 들어갑니다
x++;			// 변수 x에는 값 10이 들어갑니다

예제 2

int x = 5;		// 변수 x에는 값 5가 들어갑니다
x--;			// 변수 x에는 값 4가 들어갑니다
x--;			// 변수 x에는 값 3이 들어갑니다
x--;			// 변수 x에는 값 2가 들어갑니다
x--;			// 변수 x에는 값 1이 들어갑니다
x--;			// 변수 x에는 값 0이 들어갑니다
x--;			// 변수 x에는 값 -1이 들어갑니다
1
과제
JAVA 25 SELF, 레벨 2, 레슨 1
잠금
주인공의 나이 🦸‍♂️
주인공의 나이 🦸‍♂️
1
과제
JAVA 25 SELF, 레벨 2, 레슨 1
잠금
주사위 게임 결과 🎲
주사위 게임 결과 🎲
1
과제
JAVA 25 SELF, 레벨 2, 레슨 1
잠금
팀 간 상품 분배 🎁
팀 간 상품 분배 🎁
1
과제
JAVA 25 SELF, 레벨 2, 레슨 1
잠금
게임 내 체력 변경 📈
게임 내 체력 변경 📈
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION