Operator Kotlin: Aritmatika, Operator Tugas, dan Lainnya

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 Kotlin
Operator 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 Stringnilai-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 + bmemanggil a.plus(b)fungsi anggota. The plusOperator kelebihan beban kerja dengan Stringnilai-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 invokefungsi 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 kiri
  • shr - Masuk shift kanan
  • ushr - Pergeseran tak bertanda tangan ke kanan
  • and - Bitwise dan
  • or - Bitwise atau
  • xor - Bitwise xor
  • inv - Pembalikan bitwise

Kunjungi halaman ini untuk mempelajari lebih lanjut tentang Operasi Bitwise di Kotlin.

Selain itu, tidak ada operator terner di Kotlin seperti Java.

Artikel yang menarik...