Keutamaan dan persatuan Operator Swift (Dengan Contoh)

Dalam artikel ini, anda akan belajar mengenai peraturan yang digunakan untuk menilai ekspresi dengan operator dan operan.

Keutamaan Operator Swift

Priority operator adalah sekumpulan peraturan yang digunakan untuk menilai ungkapan matematik yang diberikan. Apabila terdapat beberapa operator yang digunakan dalam satu ungkapan, setiap bahagian dinilai dalam urutan tertentu yang disebut sebagai operator didahulukan. Pengendali tertentu mempunyai keutamaan yang lebih tinggi daripada yang lain yang mempengaruhi bagaimana ekspresi dinilai.

Jadual keutamaan pengendali

Jadual di bawah menyenaraikan keutamaan pengendali di Swift. Lebih tinggi ia muncul dalam jadual, semakin tinggi keutamaannya.

Kumpulan Keutamaan Perpustakaan Standard Swift (Tertinggi hingga Terendah)
Kumpulan Pengendali Contoh
Keutamaan peralihan bitwise >> & <>>>
Keutamaan pendaraban & *% & * /
Keutamaan penambahan | & + & - + - ^
Keutamaan Pembentukan Julat … <…
Keutamaan Casting adalah seperti
Nil-Coalescing Precedence ??
Keutamaan Perbandingan ! => = <= === ==
Keutamaan Konjungsi Logik &&
Keutamaan Disjungsi Logik ||
Keutamaan Lalai ~>
Keutamaan Ternary ?:
Fungsi keutamaan Panah ()
Keutamaan Tugasan | =% = / = & <> = & = * = >> = << = = + = - =

Contoh 1: Keutamaan Operator Swift

 let x = 4 + 5 * 5 print(x) 

Apabila anda menjalankan program di atas, outputnya adalah:

 29

Dalam contoh di atas, jika anda membaca ungkapan dari kiri ke kanan, anda mungkin menjangkakan outputnya adalah 45. Tetapi, operator pendaraban mempunyai keutamaan yang lebih tinggi daripada operator penambahan sehingga ekspresi 4 + 5 * 5 dinilai sebagai 4 + (5 * 5). Oleh itu print(x)output 29 di skrin.

Langkah Pelaksanaan
Langkah-langkah Pengendali Ungkapan Nilai dikembalikan dari ungkapan
1 * 5 * 5 25
2 + 4 + 25 29
3 = cetak (x) 29

Contoh 2: Keutamaan Operator Swift dengan pengendali tugas yang kompleks

 var y = 15 y += 10 - 2 * 3 print(y) 

Apabila anda menjalankan program di atas, outputnya adalah:

 19

Dalam contoh di atas, ungkapan var y = 15memberikan nilai 15 dalam pemboleh ubah y.

Dalam ungkapan seterusnya y += 10 - 2 * 3, operator pendaraban mempunyai keutamaan yang lebih tinggi daripada pengendali penugasan & penugasan kompaun ( +=).

Oleh itu, ungkapan y += 10 - 2 * 3dinilai sebagai y = y + (10 - (2 * 3)).

Langkah Pelaksanaan
Langkah-langkah Pengendali Ungkapan Nilai dikembalikan dari ungkapan
1 = var y = 15 15
2 * 2 * 3 6
3 - 10 - 6 4
4 + = 15 + 4 19

Perkaitan Operator Swift

Walaupun ada peraturan yang ditentukan sebelumnya yang didahului oleh operator untuk menilai suatu ungkapan, anda mungkin tertanya-tanya apa yang berlaku sekiranya terdapat beberapa operator yang mempunyai tahap keutamaan yang sama. Keterkaitan operator menentukan bagaimana pengendali yang mempunyai keutamaan yang sama dikumpulkan bersama.

Di Swift, pengendali boleh sama ada kiri-bersekutu, kanan-bersekutu atau tidak mempunyai kaitan. Pengendali yang bersekutu kiri, mengelompokkan operan mereka dari sebelah kiri pernyataan, pengendali bersekutu kanan dari kanan dan operator yang tidak mempunyai kaitan tidak mempunyai tingkah laku yang ditentukan ketika digunakan secara berurutan dalam ungkapan.

Jadual kaitan operator

Jadual di bawah menunjukkan kaitan operator Swift bersama dengan keutamaan.

Persatuan Perpustakaan Standard Swift (Keutamaan Tertinggi hingga Terendah)
Kumpulan Pengendali Contoh Pergaulan
Keutamaan peralihan bitwise >> & <>>> tiada
Keutamaan pendaraban & *% & * / ditinggalkan
Keutamaan penambahan | & + & - + - ^ ditinggalkan
Keutamaan Pembentukan Julat … <… tiada
Keutamaan Casting adalah seperti tiada
Nil-Coalescing Precedence ?? betul
Keutamaan Perbandingan ! => = <= === == tiada
Keutamaan Konjungsi Logik && ditinggalkan
Keutamaan Disjungsi Logik || ditinggalkan
Keutamaan Lalai ~> tiada
Keutamaan Ternary ?: betul
Fungsi keutamaan Panah () betul
Keutamaan Tugasan | =% = / = & <> = & = * = >> = << = = betul

Contoh 3: Perkaitan Operator Swift

 let x = 40 / 2 * 10 print(x) 

Apabila anda menjalankan program di atas, outputnya adalah:

 200

Dalam program di atas, ungkapan dinilai dari kiri ke kanan kerana pengendali tergolong dalam kumpulan pendahuluan pendaraban dan mempunyai kaitan kiri. Oleh itu, operasi pembahagian berlaku lebih awal dan anda mendapat hasilnya 200 . Bagaimana jika anda ingin melakukan pendaraban terlebih dahulu? Anda perlu membungkus 2 * 10ungkapan menjadi kurung sebagai:

 let x = 40 / (2 * 10) print(x) 

Apabila anda menjalankan program di atas, outputnya adalah:

 2

Anda tidak perlu menghafal jadual keutamaan dan kaitan. Sebahagian besar masa, keutamaan dan kesatuan pengendali masuk akal. Anda selalu boleh menggunakan jadual untuk rujukan jika ragu-ragu. Juga, lebih baik menggunakan kurungan untuk menjadikan kod anda lebih mudah difahami.

Artikel menarik...