„Kotlin“ turi operatorių rinkinį atlikti aritmetikos, priskyrimo, palyginimo operatorius ir dar daugiau. Išmoksite naudotis šiais operatoriais šiame straipsnyje.
Operatoriai yra specialūs simboliai (simboliai), atliekantys operandų (kintamųjų ir reikšmių) operacijas. Pavyzdžiui, +
yra operatorius, kuris atlieka papildymą.
Straipsnyje „Java“ kintamieji išmokote deklaruoti kintamuosius ir priskirti kintamiesiems reikšmes. Dabar jūs išmoksite naudotis operatoriais, atliekančiais įvairias operacijas.
1. Aritmetiniai operatoriai
Štai aritmetikos operatorių sąrašas Kotlinas:
„Kotlin“ aritmetikos operatoriaioperatorius | Reikšmė |
---|---|
+ | Priedas (taip pat naudojamas stygų sujungimui) |
- | Atimties operatorius |
* | Daugybos operatorius |
/ | Skyriaus operatorius |
% | Modulio operatorius |
Pavyzdys: Aritmetiniai operatoriai
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") )
Kai paleisite programą, išvestis bus:
skaičius1 + skaičius2 = 16,0 skaičius1 - skaičius2 = 9,0 skaičius1 * skaičius2 = 43,75 skaičius1 / skaičius2 = 3,5714285714285716 skaičius1% skaičius2 = 2,0
+
Operatorius taip pat naudojama sąryšis String
vertybes.
Pavyzdys: styginių sujungimas
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) )
Kai paleisite programą, išvestis bus:
Kalbėti pigu. Parodyk man kodą. - Linus Torvalds
Kaip iš tikrųjų veikia aritmetiniai operatoriai?
Tarkime, kad naudojate +
aritmetinį operatorių, kad pridėtumėte du skaičius a ir b.
Po gaubtu išraiška a + b
iškviečia a.plus(b)
nario funkciją. plus
Operatorius yra perkrautas dirbti su String
vertybių ir kitų pagrindinių duomenų tipų (išskyrus Char ir Būlio).
// + pagrindinių tipų operatorius „operatorius plius“ (kitas: baitas): „Vidutinis operatoriaus linksmas pliusas“ (kitas: trumpas): „Int operatoriaus linksmas pliusas“ (kitas: „Int“): „Int operatoriaus linksmas pliusas“ (kitas: ilgas): ilgas operatoriaus linksmas plius (kita: plūduriuojanti): plūduriuojančio operatoriaus linksmybė plius (kita: dviguba): dviguba // styginių sujungimo operatoriaus pramogoms String? .plus (kita: bet kokia?): stygos
+
Operatorių taip pat galite naudoti dirbdami su vartotojo apibrėžtais tipais (pvz., Objektais), perkraukdami plus()
funkciją.
Rekomenduojamas skaitymas: „ Kotlin“ operatoriaus perkrova
Čia pateikiama aritmetinių operatorių ir jų atitinkamų funkcijų lentelė:
Išraiška | Funkcijos pavadinimas | Išversta į |
---|---|---|
a + b | pliusas | a.plus (b) |
a - b | minusas | a. minusas (b) |
a * b | laikai | a. kartus (b) |
a / b | div | a.div (b) |
a% b | mod | a. mod. b) |
2. Užduočių operatoriai
Priskyrimo operatoriai naudojami kintamajam priskirti vertę. Mes jau anksčiau naudojome paprastą priskyrimo operatorių =
.
val amžius = 5
Čia 5 priskiriami kintamam amžiui naudojant =
operatorių.
Čia pateikiamas visų priskyrimo operatorių ir jų atitinkamų funkcijų sąrašas:
Išraiška | Prilygsta | Išversta į |
---|---|---|
a + = b | a = a + b | a.plusAssign (b) |
a - = b | a = a - b | a. minusasign (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) |
Pavyzdys: užduočių operatoriai
fun main(args: Array) ( var number = 12 number *= 5 // number = number*5 println("number = $number") )
Kai paleisite programą, išvestis bus:
skaičius = 60
Rekomenduojamas skaitymas: perkraunami priskyrimo operatoriai Kotline.
3. Unariški priešdėliai ir prieaugio / mažinimo operatoriai
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
Čia yra keletas posakių, naudojant „invoke“ operatorių su atitinkamomis funkcijomis „Kotlin“.
Išraiška | Išversta į |
---|---|
a() | a.invoke() |
a(i) | a.invoke(i) |
a(i1, i2,… , in) | a.inkove(i1, i2,… , in) |
a(i) = b | a.set(i, b) |
Kotline skliaustai verčiami į skambinimo invoke
nario funkciją.
Rekomenduojamas skaitymas: iškvieskite operatoriaus perkrovą „Kotlin“
Veikimas bitais
Skirtingai nuo „Java“, Kotline nėra bitų ir bitų keitimo operatorių. Šiai užduočiai atlikti naudojamos įvairios funkcijos (palaikančios infix žymėjimą):
shl
- Pasirašė kairęshr
- Pasirašė poslinkį į dešinęushr
- Nepasirašytas poslinkis į dešinęand
- Bitais iror
- Bitų arbaxor
- Bitų kryptimi xorinv
- Inversija po truputį
Apsilankykite šiame puslapyje ir sužinokite daugiau apie „Bitwise“ operacijas Kotline.
Be to, skirtingai nei „Java“, „Kotlin“ nėra trijų komponentų operatoriaus.