„Kotlin“ operatoriai: aritmetika, užduočių operatorius ir dar daugiau

„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 operatoriai
operatorius 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 Stringvertybes.

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 + biškviečia a.plus(b)nario funkciją. plusOperatorius yra perkrautas dirbti su Stringvertybių 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 invokenario 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 ir
  • or - Bitų arba
  • xor - Bitų kryptimi xor
  • inv - 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.

Įdomios straipsniai...