Swift - Operator

Operator adalah simbol yang memberi tahu kompiler untuk melakukan manipulasi matematika atau logika tertentu. Objective-C kaya akan operator bawaan dan menyediakan jenis operator berikut -

  • Operator Aritmatika
  • Operator Perbandingan
  • Operator Logis
  • Operator Bitwise
  • Operator Penugasan
  • Operator Jangkauan
  • Operator Misc

Tutorial ini akan menjelaskan aritmatika, relasional, logika, bitwise, penugasan dan operator lainnya satu per satu.

Operator Aritmatika

Tabel berikut menunjukkan semua operator aritmatika yang didukung oleh bahasa Swift 4. Asumsikan variabelA memegang 10 dan variabel B memegang 20, lalu -

Operator Deskripsi Contoh
+ Menambahkan dua operan A + B akan menghasilkan 30
- Mengurangi operan kedua dari yang pertama A - B akan memberi -10
* Menggandakan kedua operan A * B akan memberi 200
/ Membagi pembilang dengan penyebut B / A akan memberi 2
% Modulus Operator dan sisa setelah pembagian integer / float B% A akan memberi 0

Operator Perbandingan

Tabel berikut menunjukkan semua operator relasional yang didukung oleh bahasa Swift 4. Asumsikan variabelA memegang 10 dan variabel B memegang 20, lalu -

Operator Deskripsi Contoh
== Memeriksa apakah nilai dari dua operan sama atau tidak; jika ya, maka kondisinya menjadi benar. (A == B) tidak benar.
! = Memeriksa apakah nilai dari dua operan sama atau tidak; jika nilainya tidak sama, maka kondisinya menjadi benar. (A! = B) benar.
> Memeriksa apakah nilai operan kiri lebih besar dari nilai operan kanan; jika ya, maka kondisinya menjadi benar. (A> B) tidak benar.
< Memeriksa apakah nilai operan kiri kurang dari nilai operan kanan; jika ya, maka kondisinya menjadi benar. (A <B) benar.
> = Memeriksa apakah nilai operan kiri lebih besar dari atau sama dengan nilai operan kanan; jika ya, maka kondisinya menjadi benar. (A> = B) tidak benar.
<= Memeriksa apakah nilai operan kiri kurang dari atau sama dengan nilai operan kanan; jika ya, maka kondisinya menjadi benar. (A <= B) benar.

Operator Logis

Tabel berikut menunjukkan semua operator logika yang didukung oleh bahasa Swift 4. Asumsikan variabelA memegang 1 dan variabel B memegang 0, lalu -

Operator Deskripsi Contoh
&& Disebut Logical AND operator. Jika kedua operan bukan nol, maka kondisinya menjadi benar. (A && B) salah.
|| Disebut Logical OR Operator. Jika salah satu dari dua operan bukan nol, maka kondisinya menjadi benar. (A || B) itu benar.
! Disebut Logical NOT Operator. Gunakan untuk membalikkan keadaan logis operannya. Jika kondisinya benar, maka operator NOT Logical akan membuatnya salah. ! (A && B) benar.

Operator Bitwise

Operator bitwise bekerja pada bit dan melakukan operasi bit demi bit. Tabel kebenaran untuk &, |, dan ^ adalah sebagai berikut -

p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1
Assume A = 60; and B = 13;

In binary format, they will be as follows:

A = 0011 1100

B = 0000 1101

-----------------

A & B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A = 1100 0011

Operator Bitwise yang didukung oleh bahasa Swift 4 tercantum dalam tabel berikut. Asumsikan variabelA memegang 60 dan variabel B memegang 13, lalu 7−

Operator Deskripsi Contoh
& Biner AND Operator menyalin sedikit ke hasil, jika ada di kedua operan. (A & B) akan menghasilkan 12, yaitu 0000 1100
| Biner OR Operator menyalin sedikit, jika ada di salah satu operan. (A | B) akan menghasilkan 61, yaitu 0011 1101
^ Operator Biner XOR menyalin bit, jika diatur dalam satu operan tetapi tidak keduanya. (A ^ B) akan menghasilkan 49, yaitu 0011 0001
~ Operator Pelengkap Binary Ones adalah unary dan memiliki efek bit 'membalik'. (~ A) akan memberikan -61, yaitu 1100 0011 dalam bentuk komplemen 2.
<< Operator Binary Left Shift. Nilai operan kiri dipindahkan ke kiri dengan jumlah bit yang ditentukan oleh operan kanan. (A << 2 akan menghasilkan 240, yaitu 1111 0000
>> Operator Pergeseran Kanan Biner. Nilai operan kiri dipindahkan ke kanan dengan jumlah bit yang ditentukan oleh operan kanan. A >> 2 akan menghasilkan 15, yaitu 0000 1111

Operator Penugasan

SSwift 4 mendukung operator penugasan berikut -

Operator Deskripsi Contoh
= Operator penugasan sederhana, Menetapkan nilai dari operan sisi kanan ke operan sisi kiri C = A + B akan memberikan nilai A + B ke dalam C
+ = Tambahkan AND operator penugasan, Ini menambahkan operan kanan ke operan kiri dan memberikan hasilnya ke operan kiri C + = A ekivalen dengan C = C + A
- = Kurangi AND operator penugasan, Ini mengurangi operan kanan dari operan kiri dan memberikan hasilnya ke operan kiri C - = A ekivalen dengan C = C - A
* = Kalikan DAN operator penugasan, Ini mengalikan operan kanan dengan operan kiri dan memberikan hasilnya ke operan kiri C * = A ekivalen dengan C = C * A
/ = Bagi AND operator penugasan, Ini membagi operan kiri dengan operan kanan dan memberikan hasilnya ke operan kiri C / = A ekivalen dengan C = C / A
% = Modulus AND operator penugasan, Dibutuhkan modulus menggunakan dua operan dan memberikan hasilnya ke operan kiri C% = A ekivalen dengan C = C% A
<< = Pergeseran kiri DAN operator penugasan C << = 2 sama dengan C = C << 2
>> = Shift kanan DAN operator penugasan C >> = 2 sama dengan C = C >> 2
& = Bitwise AND operator penugasan C & = 2 sama dengan C = C & 2
^ = bitwise eksklusif OR dan operator penugasan C ^ = 2 sama dengan C = C ^ 2
| = bitwise inklusif OR dan operator penugasan C | = 2 sama dengan C = C | 2

Operator Jangkauan

Swift 4 mencakup dua operator jangkauan, yang merupakan pintasan untuk mengekspresikan berbagai nilai. Tabel berikut menjelaskan kedua operator tersebut.

Operator Deskripsi Contoh
Rentang Tertutup (a ... b) mendefinisikan rentang yang berjalan dari a ke b, dan menyertakan nilai a dan b. 1 ... 5 menghasilkan 1, 2, 3, 4 dan 5
Rentang Setengah Terbuka (a .. <b) mendefinisikan rentang yang berjalan dari a ke b, tetapi tidak termasuk b. 1 .. <5 menghasilkan 1, 2, 3, dan 4
Rentang Satu Sisi

a…, mendefinisikan rentang yang berjalan dari a hingga akhir elemen

… A, mendefinisikan rentang mulai dari awal hingga a

1… memberikan 1, 2,3… akhir elemen

… 2 memberi awal… sampai 1,2

Operator Misc

Swift 4 mendukung beberapa operator penting lainnya termasuk rangedan? : yang dijelaskan dalam tabel berikut.

Operator Deskripsi Contoh
Unary Minus Tanda nilai numerik dapat diubah menggunakan awalan - -3 atau -4
Unary Plus Mengembalikan nilai operasinya, tanpa perubahan apa pun. +6 menghasilkan 6
Kondisional Ternary Kondisi ? X: Y Jika Kondisi benar? Kemudian nilai X: Jika tidak, nilai Y

Diutamakan Operator

Prioritas operator menentukan pengelompokan istilah dalam ekspresi. Ini memengaruhi bagaimana ekspresi dievaluasi. Operator tertentu memiliki prioritas yang lebih tinggi dari yang lain; misalnya, operator perkalian memiliki prioritas yang lebih tinggi daripada operator penjumlahan.

Misalnya, x = 7 + 3 * 2; di sini, x ditetapkan 13, bukan 20 karena operator * memiliki prioritas lebih tinggi dari +, jadi pertama-tama dikalikan dengan 3 * 2 dan kemudian dijumlahkan menjadi 7.

Di sini, operator dengan prioritas tertinggi muncul di bagian atas tabel, operator dengan prioritas terendah muncul di bagian bawah. Dalam ekspresi, operator dengan prioritas lebih tinggi akan dievaluasi terlebih dahulu.

Operator Deskripsi Contoh
Operator Ekspresi Utama () []. expr ++ expr-- kiri ke kanan
Operator Unary

* & + -! ~ ++ expr --expr

* /%

+ -

>> <<

<> <=> =

==! =

kanan ke kiri
Operator Biner

&

^

|

&&

||

kiri ke kanan
Operator Ternary ?: kanan ke kiri
Operator Penugasan = + = - = * = / =% = >> = << = & = ^ = | = kanan ke kiri
Koma , kiri ke kanan