Operações aritméticas em Kotlin
Что это и зачем?
Представь, что ты играешь в компьютерную игру и хочешь посчитать, сколько очков ты заработал за день. Или, например, у тебя есть 5 яблок, а друг дал тебе ещё 3 — сколько стало? Всё это — арифметические операции. В программировании они работают точно так же, как в математике или в обычной жизни, только вместо чисел мы используем переменные.
Зачем это нужно? Представь, что ты пишешь программу для калькулятора, или для игры, где нужно считать здоровье персонажа, или для приложения, которое делит счёт в ресторане между друзьями. Без арифметики никуда! Kotlin умеет складывать, вычитать, умножать, делить и даже находить остаток от деления. Это основа, с которой начинается любой код.
В этой статье мы разберёмся, как работают все эти операции, и ты сможешь написать свою первую программу, которая считает как настоящий калькулятор. Не бойся — всё очень просто, как таблица умножения, только интереснее!
Синтаксис и примеры кода
В Kotlin арифметические операции выглядят почти как в математике. Вот основные знаки:
+— сложение-— вычитание*— умножение/— деление%— остаток от деления (это новое, но очень полезное)
Давай посмотрим на примеры. Код можно писать в любом редакторе, например, в IntelliJ IDEA или даже в онлайн-компиляторе.
Пример 1: Сложение и вычитание
fun main() {
// Объявляем переменные
val a = 10
val b = 3
// Складываем
val sum = a + b
println("Сумма: " + sum) // Выведет: Сумма: 13
// Вычитаем
val diff = a - b
println("Разность: " + diff) // Выведет: Разность: 7
}
Комментарий: Здесь мы создали две переменные a и b со значениями 10 и 3. Потом сложили их и результат записали в sum. Команда println выводит текст на экран. Обрати внимание: в Kotlin можно складывать строки (текст) с числами — это называется конкатенация.
Пример 2: Умножение и деление
fun main() {
val x = 7
val y = 2
// Умножаем
val product = x * y
println("Произведение: $product") // Выведет: Произведение: 14
// Делим
val quotient = x / y
println("Частное: $quotient") // Выведет: Частное: 3 (не 3.5!)
}
Комментарий: Видишь, при делении 7 на 2 получилось 3, а не 3.5? Это потому, что мы работаем с целыми числами (тип Int). Kotlin отбрасывает дробную часть. Если хочешь получить точный результат, нужно использовать числа с плавающей точкой, например, val x = 7.0.
Пример 3: Остаток от деления
fun main() {
val a = 10
val b = 3
// Остаток от деления 10 на 3
val remainder = a % b
println("Остаток: $remainder") // Выведет: Остаток: 1
}
Комментарий: Оператор % показывает, сколько останется, если разделить число нацело. 10 делится на 3 — получается 3 целых и 1 в остатке. Это очень полезно, например, чтобы проверить, чётное число или нет: если число % 2 == 0, значит чётное.
Пример 4: Работа с разными типами
fun main() {
val a = 5 // Целое число
val b = 2.5 // Число с плавающей точкой
// Если смешать типы, Kotlin сам преобразует
val result = a + b
println("Результат: $result") // Выведет: Результат: 7.5
}
Комментарий: Когда ты складываешь целое число и дробное, Kotlin автоматически превращает целое в дробное, чтобы не потерять точность. Это называется "неявное преобразование". Удобно, правда?
Пример 5: Сложное выражение
fun main() {
val score = 100
val bonus = 50
val penalty = 20
// Считаем итоговый счёт
val total = score + bonus - penalty * 2
println("Итоговый счёт: $total") // Выведет: Итоговый счёт: 110
}
Комментарий: Здесь работает порядок действий, как в математике: сначала умножение (penalty * 2 = 40), потом сложение и вычитание. Если хочешь изменить порядок, используй скобки: (score + bonus - penalty) * 2.
Сравнение с Python
Python — ещё один популярный язык для начинающих. Давай посмотрим, как те же операции выглядят в нём. Разница небольшая, но есть.
| Операция | Kotlin | Python |
|---|---|---|
| Сложение | a + b |
a + b |
| Вычитание | a - b |
a - b |
| Умножение | a * b |
a * b |
| Деление | a / b (целое, если оба целые) |
a / b (всегда дробное) |
| Целочисленное деление | a / b (с целыми числами) |
a // b |
| Остаток от деления | a % b |
a % b |
Главное отличие: в Python деление всегда даёт дробный результат, даже если числа целые. В Kotlin нужно специально указывать, что числа дробные (например, 7.0 / 2), чтобы получить 3.5. А целочисленное деление в Python делается через //, а в Kotlin — просто / с целыми числами.
Пример на Python для сравнения:
a = 10
b = 3
print(a / b) # Выведет 3.333...
print(a // b) # Выведет 3 (целочисленное деление)
print(a % b) # Выведет 1
Как видишь, идея та же, но синтаксис чуть разный. Если ты знаешь Python, перейти на Kotlin будет легко — нужно просто запомнить пару новых правил.
Типичные ошибки новичков
Ошибки — это нормально. Даже опытные программисты их делают. Вот самые частые ловушки, в которые попадают начинающие:
Ошибка 1: Деление целых чисел
Ты уже видел: 7 / 2 в Kotlin даёт 3, а не 3.5. Многие новички ждут точного результата. Решение: используй числа с плавающей точкой (7.0 / 2) или преобразуй тип: 7.toDouble() / 2.
Ошибка 2: Забыл про порядок действий
Пример: val result = 10 + 5 * 2 даст 20, а не 30. Потому что умножение выполняется раньше. Если хочешь сначала сложить, пиши скобки: (10 + 5) * 2.
Ошибка 3: Деление на ноль
Если попробуешь разделить на ноль, программа упадёт с ошибкой. Kotlin не умеет делить на ноль (и правильно, в математике тоже нельзя). Всегда проверяй, что делитель не равен нулю.
Ошибка 4: Путаница с типами
Если ты напишешь val a: Int = 5.5, компилятор выдаст ошибку, потому что 5.5 — это не целое число. Всегда следи за типами: целые числа — Int, дробные — Double или Float.
Ошибка 5: Неправильный вывод
В Kotlin можно выводить переменные через $ внутри строки: println("Значение: $x"). Но если написать println("Значение: x"), выведется буква "x", а не её значение. Будь внимателен!
Итог
Арифметические операции в Kotlin — это просто и логично. Ты научился:
- Складывать, вычитать, умножать и делить числа.
- Использовать остаток от деления (
%). - Понимать разницу между целыми и дробными числами.
- Сравнивать Kotlin с Python.
- Избегать типичных ошибок.
Теперь ты можешь написать программу, которая считает среднее арифметическое, проверяет чётность числа или вычисляет площадь прямоугольника. Попробуй сам! Например, напиши код, который запрашивает у пользователя два числа и выводит их сумму, разность, произведение и частное. Это отличная тренировка.
Помни: программирование — это как конструктор. Сначала ты учишься соединять простые детали, а потом собираешь из них сложные механизмы. Арифметика — это самые первые детали. Удачи!