JavaRush /Курсы /JAVA 25 SELF /Целые числа: тип int, операции с типом int

Целые числа: тип int, операции с типом int

JAVA 25 SELF
2 уровень , 1 лекция
Открыта

1. Изучаем подробнее тип int

Если вы хотите хранить в переменных целые числа, вам нужно использовать тип int.

int — это сокращение от Integer (целый с английского), что как бы намекает, что этот тип позволяет хранить целые числа.

Переменные типа int способны хранить целые числа в диапазоне от -2 миллиарда до +2 миллиарда. Или, если быть более точным, то от -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 имя;
Объявление переменной типа int

Где имя — это имя переменной. Примеры:

Команда Описание
int x;
Создается целочисленная переменная x
int count;
Создается целочисленная переменная count
int currentYear;
Создается целочисленная переменная currentYear

Размер (регистр) букв имеет значение: команды int color и int Color объявят две разные переменные.

Команды же Int Color и INT COLOR компилятор вообще не поймет и сообщит об ошибке. int — это специальное слово, обозначающее целый тип, и пишется оно только строчными буквами.

3. Краткая запись создания переменных

Если в одном месте программы нужно создать много переменных одного типа, это можно сделать, используя сокращенную запись:

int имя1, имя2, имя3;
Краткая запись создания нескольких переменных одного типа

Примеры:

Команды Краткая запись тех же команд
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, нужно воспользоваться командой:

имя = значение;
Присваивание значения переменной

Где значением может быть любое целочисленное выражение. Примеры:

Команда Примечание
int a;
a = 5;
int b;
b = 2*1000*1000*1000;
В переменной будет значение «2 миллиарда»
int c;
c = -10000000;
В переменной будет значение «минус 10 миллионов»
int d;
d = 3000000000;
Не скомпилируется, т. к. 3,000,000,000 больше, чем максимально возможное значение типа int 2,147,483,647

5. Сокращенная запись создания и инициализации переменной

Создание (объявление) переменной и присваивание ей значения можно записать одной командой. Чаще всего так и делают, поскольку переменная обычно объявляется тогда, когда возникает необходимость сохранить какое-либо значение.

Выглядит эта команда так:

int имя = значение;
Краткая запись создания и инициализации переменной

Примеры:

Команда Примечание
int a = 5;
int b = 2*1000*1000*1000;
В переменной будет значение «2 миллиарда»
int c = -10000000;
В переменной будет значение «минус 10 миллионов»
int d = 3000000000;
Не скомпилируется, т. к. 3,000,000,000 больше, чем максимально возможное значение типа int: 2,147,483,647

Можно объявить и несколько переменных одной строкой. Тогда команда будет иметь вид:

int имя1 = значение1, имя2 = значение2, имя3 = значение3;
Краткая запись создания и инициализации нескольких переменных

Примеры:

Команда Примечание
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 и полученный остаток сравнить с нулем. Если остаток от деления равен нулю, число четное, если равен единице — нечетное.

Выглядит эта проверка так:

(a % 2) == 0

Где, как вы уже догадались, a % 2 — получение остатка от деления на 2 (т. е. 0 или 1), а == используется для сравнения с нулем.

9. Инкремент и декремент

В программировании очень часто приходится увеличивать или уменьшать переменную на единицу. Для этих действий в Java есть специальные команды:

Оператор инкремент (увеличение на единицу) выглядит так:

a++;
Увеличение на единицу

Эта команда делает то же самое, что и команда a = a + 1; — увеличивает переменную a на единицу.

Оператор декремент (уменьшение на единицу) выглядит так:

a--;
Уменьшение на единицу

Эта команда делает то же самое, что и команда a = a - 1; — уменьшает переменную a на единицу.

Пример 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 лекция
Недоступна
Изменение уровня жизни в игре 📈
Изменение уровня жизни в игре 📈
Комментарии (18)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Павел Уровень 11
11 января 2026
У префиксного и постфиксного инкрементов/декрементов есть 😜 свои приколы
valeim82 Уровень 2
31 декабря 2025
Жаль, что с этого момента требуется подписка, но никто не запрещает мне попросить ИИ сделать мне такую же, чтоб потренироваться)
Kill Уровень 2
18 декабря 2025
А вам сколько лет?
Red_Cat Уровень 3
20 января 2026
32
Kostayn Talai Уровень 2
22 октября 2025
почему в мобильнлм приложении нет задачь ?
Rashit Уровень 2
2 декабря 2025
у меня такая же проблема. может кто подскажет почему так?
Stanislav Muzulev Уровень 21
2 января 2026
Писали что в этом курсе задачи только в браузере или в IDE можно решать, в приложении задач не будет)
6 сентября 2025
Если остаток от деления равен нулю, число четное, если равен единице — нечетное это ведь неправда, мы же чисто с 0 сравниваем: если равен - чётное, если не равен - нечётное а остаток может быть и больше 1 при этом, поэтому смысла сравнивать с 1 нет
Vitalii Уровень 32 Expert
6 сентября 2025
Тут при проверке чётности берётся остаток ТОЛЬКО ПРИ ДЕЛЕНИИ НА 2!!! А он может быть равен только 1 или 0
Natasha Уровень 5
4 сентября 2025
А это как понять? )) теория практика Что есть истина? В задаче нигде не сказано, что должен быть префиксный инкремент, да и теорию бы дополнить с пояснением когда префикс нужно использовать, а когда постфикс
Patriek Уровень 27
4 сентября 2025
Курс еще сыроват. Тут много всяких неточностей, расхождений с условиями, не полный материал лекции. Может быть когда-нибудь исправят. Нужно пока с этим мириться и писать комменты. Вдруг админы их тоже читают.
Rust =)) Уровень 7
9 сентября 2025
если инкремент стоит внутри оператора print(), то выражение a++ будет вычислено только после вывода на экран, иначе нужно использовать ++a. Как то так.
Андрей Пупков Уровень 38
10 сентября 2025
Это не только с принт. Тут смысл в очередности. Если у нас ++a то мы сначала увеличиваем число, а потом выполняем действие, а вот при a++ уже после действия увеличиваем число. Пример: for(int a=0, a<10,a++) // на момент начала цикла a=0 for(int a=0, a<10,++a) // а вот тут уже a=1
hidden #3515555 Уровень 26
16 сентября 2025
В комментариях написано и условии:

// Увеличиваем значение на 1 (инкремент) и выводим результат
от нас ждут что мы увеличим heroHealth, а потом только выводим результат.
Серега Батенин Уровень 12
16 сентября 2025
Андрей вы не правы касательно описания цикла. Работа постфиксной и префиксной записи описаны верно. У нас обычный цикл, поэтому на первом шаге будет только проверка прохождению по условию что меньше 10 и оно пройдет. Поэтому в обоих случаях оно будет равно 0. И только после первой итерации цикла у нас будет происходить инкремент и конкретно в данном случае разницы абсолютно никакой
Серега Батенин Уровень 12
16 сентября 2025
Видимо авторами предполагалось что инкремент и декремент будет происходить в одной строке с печатью. И тогда разница с какой стороны писать плюсы/минусы действительно есть. Пример: int a = 5; System.out.println(a++); System.out.println(++a); Здесь записаны сначала постфиксный вариант записи, а потом префиксный. В постфиксной он сначала берет число использует его и только потом делает инкремент. Поэтому сначала будет выведено число 5 и только летом его увеличат до 6. После этого мы переходим ко 2 команде вывода печати и там уже работает по другому. Так как запись префиксная, то сначала мы увеличиваем число на единицу, а потом используем. Таким образом будет выведено число 7
Natasha Уровень 5
4 сентября 2025
Ну, уже в который раз! Где ошибка? почему в последней строке не принимает команду с print и просит println ?
Vitalii Уровень 32 Expert
6 сентября 2025
Пишите всегда println() и всё, пока действительно не понадобится print()