Kotlin mempunyai sekumpulan operator untuk melakukan aritmetik, tugasan, operator perbandingan dan banyak lagi. Anda akan belajar menggunakan pengendali ini dalam artikel ini.
Pengendali adalah simbol khas (watak) yang menjalankan operasi pada operan (pemboleh ubah dan nilai). Sebagai contoh, +
adalah pengendali yang melakukan penambahan.
Dalam artikel pemboleh ubah Java, Anda belajar untuk menyatakan pemboleh ubah dan menetapkan nilai kepada pemboleh ubah. Sekarang, anda akan belajar menggunakan pengendali melakukan pelbagai operasi pada mereka.
1. Pengendali Aritmetik
Berikut adalah senarai operator aritmetik di Kotlin:
Pengendali Aritmetik KotlinPengendali | Makna |
---|---|
+ | Penambahan (juga digunakan untuk penggabungan tali) |
- | Pengendali Penolakan |
* | Pengendali Pendaraban |
/ | Pengendali Bahagian |
% | Pengendali Modulus |
Contoh: Pengendali Aritmetik
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") )
Semasa anda menjalankan program, outputnya adalah:
number1 + number2 = 16.0 number1 - number2 = 9.0 number1 * number2 = 43.75 number1 / number2 = 3.5714285714285716 nombor1% nombor2 = 2.0
The +
operator juga digunakan untuk perangkaian String
nilai.
Contoh: Gabungan Rentetan
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) )
Semasa anda menjalankan program, outputnya adalah:
Perbincangan murah. Tunjukkan kod saya. - Linus Torvalds
Bagaimana pengendali aritmetik sebenarnya berfungsi?
Katakan, anda menggunakan +
operator aritmetik untuk menambah dua nombor a dan b.
Di bawah tudung, ungkapan a + b
memanggil a.plus(b)
fungsi anggota. The plus
pengendali terlebih beban untuk kerja dengan String
nilai-nilai dan lain-lain jenis data asas (kecuali Char dan Boolean).
// + operator untuk jenis asas keseronokan operator ditambah (lain-lain: Byte): Keseronokan pengendali int plus (lain: Pendek): Keseronokan pengendali int plus (lain: Int): Keseronokan pengendali int plus (lain: Panjang): Keseronokan pengendali panjang plus (lain-lain: Float): Float operator fun plus (other: Double): Double // for string concatenation operator String? .plus (other: Any?): String
Anda juga boleh menggunakan +
operator untuk bekerja dengan jenis yang ditentukan pengguna (seperti objek) dengan plus()
fungsi yang berlebihan .
Bacaan yang Disyorkan: Pengendalian Kotlin yang berlebihan
Berikut adalah jadual pengendali aritmetik dan fungsi yang sesuai:
Ungkapan | Nama fungsi | Terjemahkan ke |
---|---|---|
a + b | tambah | a.plus (b) |
a - b | tolak | a.minus (b) |
a * b | kali | a. masa (b) |
a / b | div | a.div (b) |
a% b | mod | a.mod (b) |
2. Pengendali Tugasan
Operator pengendalian digunakan untuk memberikan nilai kepada pemboleh ubah. Kami telah menggunakan pengendali tugas sederhana =
sebelum ini.
umur val = 5
Di sini, 5 ditugaskan untuk umur berubah menggunakan =
operator.
Berikut adalah senarai semua pengendali tugasan dan fungsi yang sesuai:
Ungkapan | Bersamaan dengan | Terjemahkan ke |
---|---|---|
a + = b | a = a + b | a.plusAsign (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) |
Contoh: Pengendali Tugasan
fun main(args: Array) ( var number = 12 number *= 5 // number = number*5 println("number = $number") )
Semasa anda menjalankan program, outputnya adalah:
nombor = 60
Bacaan yang Disyorkan: Pengendali tugasan yang berlebihan di Kotlin.
3. Awalan awalan dan Pengendali Peningkatan / Penurunan
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
Berikut adalah beberapa ungkapan menggunakan operator panggilan dengan fungsi yang sesuai di Kotlin.
Ungkapan | Diterjemahkan ke |
---|---|
a() | a.invoke() |
a(i) | a.invoke(i) |
a(i1, i2,… , in) | a.inkove(i1, i2,… , in) |
a(i) = b | a.set(i, b) |
Di Kotlin, kurungan diterjemahkan ke invoke
fungsi anggota panggilan .
Bacaan yang Disyorkan: Meminta Pembebanan Operator yang berlebihan di Kotlin
Operasi Bitwise
Tidak seperti Java, tidak ada operator bitwise dan bitshift di Kotlin. Untuk melaksanakan tugas ini, digunakan pelbagai fungsi (notasi infix sokongan):
shl
- Tanda arah kirishr
- Tunjuk arah ke kananushr
- Pergeseran yang tidak ditandatangani ke kananand
- Sedikit demi sedikit danor
- Sedikit demi sedikit atauxor
- Bitwise xorinv
- Pembalikan bitwise
Lawati halaman ini untuk mengetahui lebih lanjut mengenai Operasi Bitwise di Kotlin.
Juga, tidak ada operator ternary di Kotlin tidak seperti Java.