В предыдущей статье мы освоили создание переменных и присвоение им значений. Также мы немного коснулись темы арифметических операций с числами. В этой статье мы углубимся в изучение этих операций.
В Java существуют различные виды арифметических операций, включая сложение, вычитание, умножение и деление. Они могут применяться к целочисленным и вещественным типам данных, таким как int, long, float и double.
Простые действия
Давайте посмотрим как это будет выглядеть в коде.
В приведённом примере мы создали и задали начальные значения двум целым переменным a и b. После этого мы создали и вычислили значение для переменной c, используя выражение, включающее простые арифметические операции.
Думаю что проблем с простыми операциями не возникнет ни у кого, здесь всё также, никаких обновлений)
Деление с остатком (деление по модулю): %
Что делает: возвращает остаток от деления.
Ответ как раз и будет = 7
Если мы просто разделим число, то ответ как раз будет 124. Без чисел после запятой, это потому что, у нас переменная объявлена в int, а этот тип не поддерживает дробные значения. Об этом говорил в статье
Если хотим число с остатком, то нужно записать так. Float умеет принимать не только целочисленные значения, поэтому легко вернёт числа после запятой.
Унарные операторы
Такие операторы в Java также считаются арифметическими, но имеют особенность — они оперируют только одним аргументом. Именно поэтому их называют унарными.
Давайте еще посмотрим на арифметические операции над переменными.
Это более быстрая запись простых операций. То есть мы можем записать:
a *= 2 и это будет эквивалентно a * 2
Однако, есть один момент: при записи a *= 2 мы автоматически присваиваем переменной a новое значение. Это выглядит так:
a * 2 - это уже действие, результат которого нужно куда то записать. Мы не можем просто так это оставить будет ошибка
Поэтому мы можем записать так. b также будет равняться 20
Инкремент и декремент: ++ и −−
❗Стоит отметить, что операции инкремента (++) и декремента (–) бывают двух типов: постфиксные и префиксные. Операция ++ увеличивает число на единицу, а операция – уменьшает на ту же величину.❗
- x++ — постфиксная запись
- ++x — префиксная запись
В чем же заключается принципиальная разница, если ставить плюсы-минусы перед числом или после? Смотрим пример
Вывод в консоль:
999
Мы планировали увеличить значение переменной x на 1 и присвоить результат переменной y. Ожидалось, что y будет равен 1000. Но результат оказался другим — 999. Может быть, значение x не увеличилось, и операция инкремента не сработала?
Не волнуйтесь, операция инкремента сработала. Чтобы убедиться в этом, попробуйте вывести значение x на экран в конце программы.
Вывод в консоль:
999
1000
Действительно, постфиксная операция потому так и называется, что она выполняется после основного выражения. В вашем примере:
int y = x++;
сначала выполняется присваивание y = x, и только потом происходит инкремент x.
🟢Что касается порядка выполнения арифметических действий, то он соответствует общепринятым правилам математики: сначала выполняются операции в скобках, затем умножение и деление, а после — сложение и вычитание. Вы можете проверить это на любом примере, и ответ будет соответствовать порядку выполнения операций.
Вот что будет если Java сказать поделить на 0)
Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!