Булевы значения
Тип Boolean представляет логические значения: true и false.
Используйте значения Boolean в функциях, которые отвечают на вопросы с ответом «да» или «нет», а также в условиях while, if и when.
Объявление переменной Boolean
Чтобы объявить переменную Boolean, присвойте ей значение true или false.
Можно явно указать тип Boolean или позволить Kotlin вывести его на основе значения:
val isTrue: Boolean = true val isFalse = false // Kotlin infers Boolean
Если значение может быть null, используйте Boolean?:
val isEnabled: Boolean? = null
Получение значений Boolean
Для получения значений Boolean можно использовать выражения сравнения и функции:
fun main() {
//sampleStart
val number = 10
val isPositive = number > 0
println(isPositive) // true
val language = "Kotlin"
val isEmpty = language.isEmpty()
println(isEmpty) // false
//sampleEnd
}
Результаты также можно использовать в условиях и других выражениях:
fun main() {
//sampleStart
val number = 10
val isPositive = number > 0 // true
if (isPositive) {
println("The number is positive.")
}
//sampleEnd
}
Операции Boolean
В Kotlin есть операторы и инфиксные функции для работы со значениями Boolean. С их помощью можно инвертировать значение Boolean или объединять несколько значений Boolean в один результат.
Отрицание (NOT)
Оператор NOT инвертирует значение Boolean.
Чтобы использовать NOT, поместите оператор ! перед значением Boolean:
val isOn = true val isOff = !isOn // isOff is false
Логическое AND
Оператор AND возвращает true, только если оба операнда имеют значение true.
Чтобы использовать логическое AND, поместите оператор && между операндами:
val a = false && false // false val b = false && true // false val c = true && false // false val d = true && true // true
Логическое OR
Оператор OR возвращает true, если хотя бы один операнд имеет значение true.
Чтобы использовать логическое OR, поместите оператор || между операндами:
val a = false || false // false val b = false || true // true val c = true || false // true val d = true || true // true
Исключающее ИЛИ (XOR)
Операция исключающего ИЛИ (XOR) возвращает true, если значения операндов различаются.
Чтобы использовать XOR, поместите xor между операндами:
val a = false xor false // false val b = false xor true // true val c = true xor false // true val d = true xor true // false
Приоритет операторов
Если выражение содержит несколько логических операций и в нём нет скобок, задающих порядок вычисления, Kotlin применяет правила приоритета. Операции с более высоким приоритетом вычисляются раньше операций с более низким приоритетом.
Для операций Boolean, описанных в этом разделе, порядок приоритета следующий:
!xor(и другие инфиксные функции)&&||
В следующем примере компилятор вычисляет && перед ||:
fun main() {
//sampleStart
val result = true || false && false
println(result) // true
//sampleEnd
}
Чтобы явно задать порядок вычисления, используйте скобки:
fun main() {
//sampleStart
val result = (true || false) && false
println(result) // false
//sampleEnd
}
Boolean в условиях
if, when и while вычисляют выражения Boolean, чтобы управлять потоком выполнения программы.
Выражения if
fun main() {
//sampleStart
val number = 4
val isEven = number % 2 == 0
// Condition already has the `Boolean` type
// You do not need to compare it to `true` or `false`
if (isEven) {
println("The number is even.")
} else {
println("The number is odd.")
}
//sampleEnd
}
Выражения when
fun main() {
//sampleStart
val number = 3
when {
number > 0 -> println("The number is positive.")
number < 0 -> println("The number is negative.")
else -> println("The number is zero.")
}
//sampleEnd
}
Циклы while
fun main() {
//sampleStart
var isCalculating = true
while (isCalculating) {
println("Calculating...")
isCalculating = false
}
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/booleans.html