Skip to main content
Version: Legacy

Операторы и Математика в Kotlin



Что такое операторы?

Операторы — специальные символы или ключевые слова, которые выполняют операции над данными. В Kotlin они делятся на арифметические, логические, сравнения и другие.




Арифметические операторы

Базовые операторы для работы с числами:

  • + — сложение:
    Пример
    val sum = 5 + 3  // 8
  • - — вычитание:
    Пример
    val diff = 10 - 4  // 6
  • * — умножение:
    Пример
    val product = 2 * 6  // 12
  • / — деление (целочисленное для Int, дробное для Double):
    Пример
    val div1 = 10 / 3   // 3 (Int)
    val div2 = 10.0 / 3 // 3.333... (Double)
  • % — остаток от деления:
    Пример
    val remainder = 10 % 3  // 1



Инкремент и Декремент

Разница между i++ и ++i

Пример
var a = 5
val postIncrement = a++ // postIncrement = 5, a = 6

var b = 5
val preIncrement = ++b // preIncrement = 6, b = 6

Пояснение:

  • Постфиксный инкремент (i++):
    • Возвращает текущее значение переменной.
    • Увеличивает значение на 1 после возврата.
  • Префиксный инкремент (++i):
    • Увеличивает значение на 1 перед возвратом.
    • Возвращает новое значение.



Математические функции

Kotlin предоставляет расширенный набор функций через пакет kotlin.math.

Основные функции:

  • sqrt(x) — квадратный корень:
    Пример
    val root = sqrt(25.0)  // 5.0
  • pow(n) — возведение в степень:
    Пример
    val power = 2.0.pow(3)  // 8.0
  • abs(x) — модуль числа:
    Пример
    val absolute = abs(-7)  // 7
  • max(a, b) / min(a, b) — максимум/минимум:
    Пример
    val maximum = max(10, 20)  // 20
    val minimum = min(5, -3) // -3
  • round(x) — округление до ближайшего целого:
    Пример
    val rounded = round(3.6)  // 4.0



Примеры использования

Комбинирование операторов

Пример
val result = (10 + 3) * 2 - 5  // (13 * 2) - 5 = 21

Инкременты в цикле

Пример
var counter = 0
repeat(3) {
println(++counter) // 1, 2, 3
}

Математика в действии

Пример
fun calculateHypotenuse(a: Double, b: Double): Double {
return sqrt(a.pow(2) + b.pow(2))
}

println(calculateHypotenuse(3.0, 4.0)) // 5.0