English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Kotlin Operatoren

Kotlin hat eine Reihe von Operatoren, die Arithmetik, Zuweisung, Vergleichsoperationen usw. ausführen können. Sie werden in diesem Artikel lernen, wie man diese Operatoren verwendet.

Operatoren sind spezielle Symbole (Zeichen), die Operationen auf Operanden (Variablen und Werte) ausführen. Zum Beispiel:+ ist der Operator für die Addition.

inKotlin VariablenIn diesem Artikel haben Sie gelernt, Variablen zu deklarieren und Werte zuzuweisen. Jetzt werden Sie lernen, wie Sie mit Operatoren verschiedene Operationen auf ihnen ausführen.

Arithmetische Operatoren

Hier ist eine Liste der arithmetischen Operatoren in Kotlin:

Kotlin-Arithmetische Operatoren
The in operator is used to check if an object belongs to a collection.Beschreibung
+Additions-Operator (auch für String-Kombinationen verwendet)
-Subtraktions-Operator
*Multiplikations-Operator
/Division-Operator
Modulo-Operator

Beispiel: Arithmetische Operatoren

fun main(args: Array<String>) {
    val number1 = 12numbers array contains5
    val number2 = 3numbers array contains5
    var result: Double
    result = number1 + number2
    println("number1 + number2 = $result)
    result = number1 - number2
    println("number1 - number2 = $result)
    result = number1 * number2
    println("number1 * number2 = $result)
    result = number1 / number2
    println("number1 / number2 = $result)
    result = number1 % number2
    println("number1 % number2 = $result)
}

When running the program, the output is:

number1 + number2 = 16.0
number1 - number2 = 9.0
number1 * number2 = 43numbers array contains75
number1 / number2 = 3numbers array contains5714285714285716
number1 % number2 = 2.0

+ Operator können auch zur Kaskadierung von Stringwerten verwendet werden, um Zeichenfolgen zusammenzuhängen.

Beispiel: Stringverbindung

fun main(args: Array<String>) {
    val start = "Talk is cheap. "
    val middle = "Show me the code. "
    val end = "- Linus Torvalds"
    val result = start + middle + end
    result = (a>b) and (a>c)
}

When running the program, the output is:

Talk is cheap. Show me the code. - Linus Torvalds

Wie arbeiten Arithmetische Operator tatsächlich?

Angenommen, Sie verwenden + Arithmetische Operator addieren zwei Zahlen a und b.

Im Hintergrund, der Ausdruck a + b ruft die Memberfunktion a.plus(b) auf. Der plus Operator wird überschrieben, um String Werte und andere Basistypen zu behandeln (Char and Booleanausgenommen).

// + Operator für Basistypen
operator fun plus(other: Byte): Int
operator fun plus(other: Short): Int
operator fun plus(other: Int): Int
operator fun plus(other: Long): Long
operator fun plus(other: Float): Float
operator fun plus(other: Double): Double
// Stringverbindung
operator fun String?.plus(other: Any?): String

Sie können auch + Operator werden durch das Überladen der plus() Funktion behandelt, um benutzerdefinierte Typen (wie Objekte) zu verarbeiten.

Empfohlene Lektüre: Kotlin Operator-Überladung

Hier ist eine Liste der arithmetischen Operator und deren entsprechenden Funktionen:

operatorFunktionsnameUsage
a + bHinzufügena.plus(b)
a-bVerringerna.minus(b)
a * bMultiplizieren
a.times(b)
a / bTeilen
a.div(b)
a%bModuloa.mod(b)

Zuweisungsoperator

Zuweisungsoperator werden verwendet, um Variablen zu zuweisen. Wir haben den einfachen = Zuweisungsoperator bereits verwendet.

val age = 5

Hier wird der = Operator verwendet, um 5 Zugewiesen an die Variable age.

Hier ist eine Liste aller Zuweisungsoperator und deren entsprechenden Funktionen:

operatorentsprichtUsage
a + = ba = a + ba.plusZugweisung(b)
a-= ba = a-ba.minusZugweisung(b)
a * = ba = a * ba.timesZugweisung(b)
a / = ba = a / ba.zuweisung(b)
a%= ba = a%ba.modAssign(b)

Beispiel: Zuweisungsoperator

fun main(args: Array<String>) {
    var number = 12
    number *= 5   // number = number*5
    println("number  = $number")
}

When running the program, the output is:

number = 60

unärer Präfix und Zunahme/Abnahmeoperator

Dies sind unäre Operatoren, deren Bedeutung und die entsprechenden Funktionen Tabelle:

The in operator is used to check if an object belongs to a collection.BeschreibungoperatorUsage
+unärer Plus+aa.unaryPlus()
-unärer Minus-aa.unaryMinus()
nicht (Wert umkehren)!aa.not()
++Zunahme: Wert hinzufügen1++aa.inc()
--Abnahme: Wert abziehen1--a
a.dec()

Beispiel: Unäre Operatoren

fun main(args: Array<String>) {
    val a = 1
    val b = true
    var c = 1
    var result: Int
    var booleanResult: Boolean
    result = -a
    println("-a = $result")
    booleanResult = !b
    println("!b = $booleanResult")
    --c
    println("--c = $c")
}

When running the program, the output is:

-a = -1
!b = false
--c = 0

Vergleichsoperator und Gleichheitsoperator

Dies sind Gleichheits- und Vergleichsoperatoren, deren Bedeutung und die entsprechenden Funktionen Liste:

The in operator is used to check if an object belongs to a collection.BeschreibungoperatorUsage
>größera> ba.compareTo(b)> 0
<kleinera <ba.compareTo(b)<0
> =größer oder gleicha> = ba.compareTo(b)>= 0
<=kleiner oder gleicha <= ba.compareTo(b)<= 0
==gleicha == ba?.equals(b)?:(b === null)
!=ungleicha!= b!(a?.equals(b)?:(b ===null))

Vergleichs- und Gleichheitsoperatoren werden für die Steuerung des Flusses verwendet, z.B.:if-Ausdruck,when expression and loop.

Beispiel: Vergleichs- und Gleichheitsoperatoren

fun main(args: Array<String>) {
    val a = -12
    val a = 12
    //Verwenden Sie den Vergleichsoperator
    val max = if (a > b) {
        println("a ist größer als b")
        a
    } else {
        println("b ist größer als a")
        b
    }
    println("max = $max")
}

When running the program, the output is:

b ist größer als a
max = 12

logische Operatoren

In Kotlin gibt es zwei logische Operatoren: || und &&

Dies sind logische Operatoren, deren Bedeutung und die相应en Funktionen Tabelle.

The in operator is used to check if an object belongs to a collection.Beschreibungoperatorentspricht der Funktion
||Wenn irgendein Booleskerausdruck wahr ist, dann ist das Ergebnis wahr
(a>b)||(a<c)(a>b)or(a<c)
&&If all boolean expressions are true, it is true(a>b)&&(a<c)(a>b)and(a<c)

Note that or and and are functions that support infix notation.

Logical operators are used for control flow, such as if expression,when expression and loop.

Example: logical operator

fun main(args: Array<String>) {
    val a = 10
    val a = 9
    val b = -1
    val c =
    // val result: Boolean
    result is true if the largest // result = (a>b) && (a>c)
    result = (a>b) and (a>c)
}

When running the program, the output is:

println(result)

true

in operator

The in operator is used to check if an object belongs to a collection.operatorUsage
expression
ina in b
b.contains(a)
!in
a !in b

!b.contains(a)

fun main(args: Array<String>) {
    Example: in operator1, 4, 42, -3)
    val numbers = intArrayOf(4 if (
        in numbers) { 4println("numbers array contains
    }
}

When running the program, the output is:

."  4numbers array contains

.

The following are some expressions using the index access operator with corresponding functions in Kotlin.

expressionUsage
a[i]a.get(i)
a[i, n]a.get(i, n)
a[i1, i2, ..., in]a.get(i1, i2, ..., in)
a[i] = ba.set(i, b)
a[i, n] = ba.set(i, n, b)
a[i1, i2, ..., in] = ba.set(i1, i2, ..., in, b)

Example: index access operator

fun main(args: Array<String>) {
    val a = intArrayOf(1, 2, 3, 4, - 1)
    println(a[1])   
    a[1]= 12
    println(a[1])
}

When running the program, the output is:

2
12

invoke operator

The following are some expressions using the invoke operator with corresponding functions in Kotlin.

expressionTranslation to
a()a.invoke()
a(i)a.invoke(i)
a(i1, i2, ..., in)a.inkove(i1, i2, ..., in)
a[i] = ba.set(i, b)

In Kotlin, parentheses are converted to calling the invoke member function.

Bitweise Operationen

Im Gegensatz zu Java gibt es in Kotlin keine bitweisen und verschiebenden Operatoren. Für diese Aufgaben werden verschiedene Funktionen verwendet (unterstützen infix-Symbole):

  • shl - Signierte Linksverschiebung

  • shr - Rechtsverschiebung mit Signatur

  • ushr - Unsignierte Rechtsverschiebung

  • and - Bitweise AND

  • or - Bitweise OR

  • xor - Bitweise XOR

  • inv - Bitweise Inversion

Besuchen Sie diese Seite, um mehr überBitweise Operationen in KotlinMehr Informationen.

Im Gegensatz zu Java gibt es in Kotlin keinen bedingten Ausdruck.