Kotlin memiliki sekumpulan operator untuk melakukan aritmatika, penugasan, operator perbandingan, dan lainnya. Anda akan mempelajari cara menggunakan operator ini di artikel ini.
Operator adalah simbol khusus (karakter) yang menjalankan operasi pada operan (variabel dan nilai). Misalnya +
adalah operator yang melakukan penjumlahan.
Dalam artikel variabel Java, Anda belajar mendeklarasikan variabel dan menetapkan nilai ke variabel. Sekarang, Anda akan belajar menggunakan operator untuk melakukan berbagai operasi pada mereka.
1. Operator Aritmatika
Berikut daftar operator aritmatika di Kotlin:
Operator Aritmatika KotlinOperator | Berarti |
---|---|
+ | Penambahan (juga digunakan untuk penggabungan string) |
- | Operator Pengurangan |
* | Operator Perkalian |
/ | Operator Divisi |
% | Operator Modulus |
Contoh: Operator Aritmatika
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") )
Saat Anda menjalankan program, hasilnya adalah:
angka1 + angka2 = 16,0 angka1 - angka2 = 9,0 angka1 * angka2 = 43,75 angka1 / angka2 = 3,5714285714285716 angka1% angka2 = 2.0
The +
Operator juga digunakan untuk gabungan dari String
nilai-nilai.
Contoh: Concatenation of Strings
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) )
Saat Anda menjalankan program, hasilnya adalah:
Berbicara itu murah. Tunjukkan kodenya. - Linus Torvalds
Bagaimana sebenarnya operator aritmatika bekerja?
Misalkan, Anda menggunakan +
operator aritmatika untuk menjumlahkan dua bilangan a dan b.
Di bawah tenda, ekspresi a + b
memanggil a.plus(b)
fungsi anggota. The plus
Operator kelebihan beban kerja dengan String
nilai-nilai dan tipe data dasar lainnya (kecuali Char dan Boolean).
// + operator untuk tipe dasar operator menyenangkan plus (lainnya: Byte): Int operator menyenangkan plus (lainnya: Pendek): Int operator menyenangkan plus (lainnya: Int): Int operator menyenangkan plus (lainnya: Panjang): Operator panjang menyenangkan plus (other: Float): Operator float menyenangkan plus (other: Double): Double // untuk kesenangan operator penggabungan string String? .plus (other: Any?): String
Anda juga dapat menggunakan +
operator untuk bekerja dengan tipe yang ditentukan pengguna (seperti objek) dengan plus()
fungsi overloading .
Bacaan yang Disarankan: Kotlin Operator Overloading
Berikut tabel operator aritmatika dan fungsinya yang terkait:
Ekspresi | Nama fungsi | Diterjemahkan menjadi |
---|---|---|
a + b | plus | a.plus (b) |
a - b | minus | a. minus (b) |
a * b | waktu | a.times (b) |
a / b | div | a.div (b) |
a% b | mod | a.mod (b) |
2. Operator Penugasan
Operator tugas digunakan untuk memberikan nilai ke variabel. Kami telah menggunakan operator penugasan sederhana =
sebelumnya.
usia val = 5
Di sini, 5 ditetapkan ke usia variabel menggunakan =
operator.
Berikut daftar semua operator penugasan dan fungsinya yang terkait:
Ekspresi | Setara dengan | Diterjemahkan menjadi |
---|---|---|
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) |
Contoh: Operator Penugasan
fun main(args: Array) ( var number = 12 number *= 5 // number = number*5 println("number = $number") )
Saat Anda menjalankan program, hasilnya adalah:
angka = 60
Bacaan yang Direkomendasikan: Membebani operator tugas di Kotlin.
3. Awalan Unary dan Operator Increment / Decrement
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 beberapa ekspresi yang menggunakan operator panggilan dengan fungsi terkait di Kotlin.
Ekspresi | 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, tanda kurung diterjemahkan untuk memanggil invoke
fungsi anggota.
Bacaan yang Direkomendasikan: Memanggil Operator Overloading di Kotlin
Operasi Bitwise
Tidak seperti Java, tidak ada operator bitwise dan bitshift di Kotlin. Untuk melakukan tugas ini, berbagai fungsi (mendukung notasi infix) digunakan:
shl
- Tanda shift kirishr
- Masuk shift kananushr
- Pergeseran tak bertanda tangan ke kananand
- Bitwise danor
- Bitwise atauxor
- Bitwise xorinv
- Pembalikan bitwise
Kunjungi halaman ini untuk mempelajari lebih lanjut tentang Operasi Bitwise di Kotlin.
Selain itu, tidak ada operator terner di Kotlin seperti Java.