Spec-Zone.ru › Kotlin 2

Булевы значения

Тип 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. В Kotlin 0 и 1 не являются значениями Boolean.

Получение значений 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

Если первый операнд имеет значение false, оператор && пропускает второй операнд. Чтобы вычислить оба операнда, используйте вместо него and инфиксную функцию.

Логическое 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

Если первый операнд имеет значение true, оператор || пропускает второй операнд. Чтобы вычислить оба операнда, используйте вместо него or инфиксную функцию.

Исключающее ИЛИ (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

xor — это инфиксная функция, а не оператор.

Подробнее об инфиксных функциях Boolean см. в справочнике API.

Приоритет операторов

Если выражение содержит несколько логических операций и в нём нет скобок, задающих порядок вычисления, Kotlin применяет правила приоритета. Операции с более высоким приоритетом вычисляются раньше операций с более низким приоритетом.

Для операций Boolean, описанных в этом разделе, порядок приоритета следующий:

  1. !

  2. xor (и другие инфиксные функции)

  3. &&

  4. ||

В следующем примере компилятор вычисляет && перед ||:

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    
}
05 мая 2026
Беззнаковые целочисленные типыСимволы

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API