Kotlin Operátorok: Számtan, Feladatkezelő és egyebek

Kotlin operátorokkal rendelkezik számtani, hozzárendelési, összehasonlító operátorok és egyebek elvégzésére. Ebben a cikkben megtanulja használni ezeket az operátorokat.

Az operátorok speciális szimbólumok (karakterek), amelyek operandusokat (változókat és értékeket) hajtanak végre. Például +olyan operátor, amely összeadást hajt végre.

A Java változók cikkben megtanult változókat deklarálni és értékeket rendelni a változókhoz. Most megtanulja használni az operátorokat, hogy különféle műveleteket hajtsanak végre rajtuk.

1. Számtani operátorok

Íme egy lista a Kotlinban végzett számtani operátorokról:

Kotlin számtani operátorok
Operátor Jelentése
+ Összeadás (húrok összefűzésére is használják)
- Kivonás operátor
* Szorzási operátor
/ Osztályüzemeltető
% Modulus Operator

Példa: Számtani operátorok

 fun main(args: Array) ( val number1 = 12.5 val number2 = 3.5 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") ) 

A program futtatásakor a kimenet a következő lesz:

 szám1 + szám2 = 16,0 szám1 - szám2 = 9,0 szám1 * szám2 = 43,75 szám1 / szám2 = 3,5714285714285716 szám1% szám2 = 2,0

Az +operátort az Stringértékek összefűzésére is használják .

Példa: Húrok összefűzése

 fun main(args: Array) ( val start = "Talk is cheap. " val middle = "Show me the code. " val end = "- Linus Torvalds" val result = start + middle + end println(result) )

A program futtatásakor a kimenet a következő lesz:

Beszélni olcsó. Mutasd meg a kódot. - Linus Torvalds

Hogyan működnek a számtani operátorok?

Tegyük fel, hogy +számtani operátort használ két a és b szám hozzáadásához.

A motorháztető alatt a kifejezés tagfunkciót a + bhív a.plus(b). Az plusoperátor túlterhelt az Stringértékekkel és más alapvető adattípusokkal (kivéve a Char és a Boolean).

 // + operátor az alaptípusokhoz operator fun plus (egyéb: Byte): Int operator fun plus (egyéb: Short): Int operator fun plus (egyéb: Int): Int operator fun plus (egyéb: Long): Long operator fun plus (egyéb: Float): Float operátor fun plus (egyéb: Double): Double // karakterlánc összefűzés operátor fun számára String? .plus (egyéb: Any?): String 

Az +operátort használhatja a felhasználó által definiált típusokkal (például objektumokkal) is a plus()funkció túlterhelésével .

Ajánlott olvasmány: Kotlin Operator Overloading

Itt van egy táblázat a számtani operátorokról és azok megfelelő funkcióiról:

Kifejezés Funkció neve Fordítás nyelvre
a + b plusz a.plus (b)
a - b mínusz a.minusz (b)
a * b alkalommal a. idők (b)
a / b div a.div (b)
a% b mod a.mod (b)

2. Feladatkezelők

A hozzárendelési operátorok értéket rendelnek egy változóhoz. Korábban már használtunk egyszerű hozzárendelési operátort =.

 val kor = 5

Itt az =operátort használva 5 változó életkorhoz van rendelve .

Itt található az összes hozzárendelési operátor és azok megfelelő funkcióinak felsorolása:

Kifejezés Egyenértékű Fordítás nyelvre
a + = b a = a + b a.plusAssign (b)
a - = b a = a - b a.minusAssign (b)
a * = b a = a * b a.timesAssign (b)
a / = b a = a / b a.divAssign (b)
a% = b a = a% b a.modAssign (b)

Példa: Hozzárendelési operátorok

 fun main(args: Array) ( var number = 12 number *= 5 // number = number*5 println("number = $number") )

A program futtatásakor a kimenet a következő lesz:

 szám = 60

Ajánlott olvasmány: A hozzárendelési operátorok túlterhelése Kotlinban.

3. Unary előtag és növekmény / csökkentés operátorok

Here's a table of unary operators, their meaning, and corresponding functions:

Operator Meaning Expression Translates to
+ Unary plus +a a.unaryPlus()
- Unary minus (inverts sign) -a a.unaryMinus()
! not (inverts value) !a a.not()
++ Increment: increases value by1 ++a a.inc()
-- Decrement: decreases value by 1 --a a.dec()

Example: Unary Operators

 fun main(args: Array) ( 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 you run the program, the output will be:

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

Recommended Reading: Overloading Unary Operators

4. Comparison and Equality Operators

Here's a table of equality and comparison operators, their meaning, and corresponding functions:

Operator Meaning Expression Translates to
> greater than a> b a.compareTo(b)> 0
< less than a < b a.compareTo(b) < 0
>= greater than or equals to a>= b a.compareTo(b)>= 0
<= less than or equals to a < = b a.compareTo(b) <= 0
== is equal to a == b a?.equals(b) ?: (b === null)
!= not equal to a != b !(a?.equals(b) ?: (b === null))

Comparison and equality operators are used in control flow such as if expression , when expression , and loops .

Example: Comparison and Equality Operators

 fun main(args: Array) ( val a = -12 val b = 12 // use of greater than operator val max = if (a> b) ( println("a is larger than b.") a ) else ( println("b is larger than a.") b ) println("max = $max") ) 

When you run the program, the output will be:

 b is larger than a. max = 12 

Recommended Reading: Overloading of Comparison and Equality Operators in Kotlin

5. Logical Operators

There are two logical operators in Kotlin: || and &&

Here's a table of logical operators, their meaning, and corresponding functions.

Operator Description Expression Corresponding Function
|| true if either of the Boolean expression is true (a>b)||(a (a>b)or(a
&& true if all Boolean expressions are true (a>b)&&(a (a>b)and(a

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

Logical operators are used in control flow such as if expression , when expression , and loops .

Example: Logical Operators

 fun main(args: Array) ( val a = 10 val b = 9 val c = -1 val result: Boolean // result is true is a is largest result = (a>b) && (a>c) // result = (a>b) and (a>c) println(result) )

When you run the program, the output will be:

 true

Recommended Reading: Overloading of Logical Operators in Kotlin

6. in Operator

The in operator is used to check whether an object belongs to a collection.

Operator Expression Translates to
in a in b b.contains(a)
!in a !in b !b.contains(a)

Example: in Operator

 fun main(args: Array) ( val numbers = intArrayOf(1, 4, 42, -3) if (4 in numbers) ( println("numbers array contains 4.") ) )

When you run the program, the output will be:

 numbers array contains 4.

Recommended Reading: Kotlin in Operator Overloading

7. Index access Operator

Here are some expressions using index access operator with corresponding functions in Kotlin.

Expression Translated to
a(i) a.get(i)
a(i, n) a.get(i, n)
a(i1, i2,… , in) a.get(i1, i2,… , in)
a(i) = b a.set(i, b)
a(i, n) = b a.set(i, n, b)
a(i1, i2,… , in) = b a.set(i1, i2,… , in, b)

Example: Index access Operator

 fun main(args: Array) ( val a = intArrayOf(1, 2, 3, 4, - 1) println(a(1)) a(1)= 12 println(a(1)) ) 

When you run the program, the output will be:

 2 12

Recommended Reading: Kotlin Index access operator Overloading

8. Invoke Operator

Íme néhány kifejezés az invoke operátorral, a Kotlin megfelelő funkcióival.

Kifejezés Lefordítva
a() a.invoke()
a(i) a.invoke(i)
a(i1, i2,… , in) a.inkove(i1, i2,… , in)
a(i) = b a.set(i, b)

Kotlinban a zárójeleket a hívó invoketag függvényre fordítják .

Ajánlott olvasmány: Hívja meg az üzemeltető túlterhelését Kotlinban

Bitenkénti működés

A Java-val ellentétben nincsenek bitenkénti és bitshift operátorok Kotlinban. E feladat végrehajtásához különféle funkciókat (támogató infix jelöléseket) használnak:

  • shl - Balra tolva
  • shr - Jobbra tolva
  • ushr - Aláíratlan jobbra tolás
  • and - Bitenként és
  • or - Bitenként vagy
  • xor - Bitenként xor
  • inv - Bitenkénti inverzió

Látogasson el erre az oldalra, ha többet szeretne megtudni a Kotwise Bitwise műveletekről.

Ezenkívül a Java-val ellentétben Kotlinban nincs háromszintű operátor.

érdekes cikkek...