Latest web development tutorials

Operator Swift

Seorang operator adalah simbol, yang digunakan untuk memberitahu compiler untuk melakukan operasi matematis atau logis.

Swift memberikan operator berikut:

  • operator aritmatika
  • perbandingan
  • Operator logis
  • bitwise Operator
  • Operator penugasan
  • Operator Interval
  • operator lain

bab ini kita akan menjelaskan kepada Anda operator aritmatika, operator relasional, operator logika, operator bitwise, operator penugasan dan operator lainnya.


operator aritmatika

Tabel berikut berisi daftar dukungan bahasa operator aritmatika Swift, 10 di antaranya variabel Variabel B 20:

operator deskripsi contoh
+ plus Hasil untuk A + B 30
- kurang A - hasil B -10
* perkalian tanda Sebuah hasil * B untuk 200
/ Tanda divisi B / A 2 hasil
% sisa B% Hasil adalah 0
++ kenaikan A ++ 11 hasil
- pengurangan Hasil A-- 9

contoh

Berikut ini adalah contoh sederhana dari operasi aritmatika:

import Cocoa

var A = 10
var B = 20

print("A + B 结果为:\(A + B)")
print("A - B 结果为:\(A - B)")
print("A * B 结果为:\(A * B)")
print("B / A 结果为:\(B / A)")
A++
print("A++ 后 A 的值为 \(A)")
B--
print("B-- 后 B 的值为 \(B)")

Atas hasil pelaksanaan program:

A + B 结果为:30
A - B 结果为:-10
A * B 结果为:200
B / A 结果为:2
A++ 后 A 的值为 11
B-- 后 B 的值为 19

perbandingan

Tabel berikut berisi daftar operator perbandingan dukungan bahasa Swift, dimana variabel A 10, B 20 variabel:

operator deskripsi contoh
== sama (A == B) adalah palsu.
! = Tidak sama (A B! =) Benar.
> lebih besar dari (A> B) adalah palsu.
< Kurang dari (A <B) benar.
> = Lebih besar dari atau sama (A> = B) adalah palsu.
<= Kurang dari atau sama (A <= B) benar.

contoh

Berikut ini adalah contoh sederhana dari operasi perbandingan:

import Cocoa

var A = 10
var B = 20

print("A == B 结果为:\(A == B)")
print("A != B 结果为:\(A != B)")
print("A > B 结果为:\(A > B)")
print("A < B 结果为:\(A < B)")
print("A >= B 结果为:\(A >= B)")
print("A <= B 结果为:\(A <= B)")

Atas hasil pelaksanaan program:

A == B 结果为:false
A != B 结果为:true
A > B 结果为:false
A < B 结果为:true
A >= B 结果为:false
A <= B 结果为:true

Operator logis

Tabel berikut berisi daftar dukungan bahasa Swift operator logika, dimana variabel A adalah benar, variabel B adalah palsu:

operator deskripsi contoh
&& Logika dan. Jika operator itu BENAR kedua belah pihak adalah BENAR. (A && B) adalah palsu.
|| Atau logika. Jika operator di kedua sisi setidaknya satu dari BENAR adalah BENAR. (A || B) benar.
! Logis TIDAK. Ini membalikkan nilai Boolean, sehingga benar menjadi salah, yang salah menjadi benar. ! (A && B) benar.

Berikut ini adalah contoh sederhana dari operasi logika:

import Cocoa

var A = true
var B = false

print("A && B 结果为:\(A && B)")
print("A || B 结果为:\(A || B)")
print("!A 结果为:\(!A)")
print("!B 结果为:\(!B)")

Atas hasil pelaksanaan program:

A && B 结果为:false
A || B 结果为:true
!A 结果为:false
!B 结果为:true

bitwise Operator

Bitwise Operator bit yang digunakan untuk mengoperasikan, ~, &, |, ^ yang menegasikan, dan bit, atau demi sedikit dan, bitwise XOR operasi dengan contoh tabel 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

Jika A = 60, dan B = 13; dua variabel sesuai dengan biner adalah:

A = 0011 1100

B = 0000 1101

Untuk operasi bit:

operator deskripsi diagram contoh
& Bitwise dan. Dengan bitwise DAN operator untuk mengoperasikan dua angka dan kemudian kembali nomor baru, masing-masing bit dari nomor ini membutuhkan dua angka masukan hanya 1-1. (A & B) hasilnya adalah 12, biner adalah 0000 1100
| Bitwise atau. Bitwise operator OR | membandingkan dua angka dan kemudian kembali nomor baru setiap set nomor ini adalah kondisi yang sama seperti yang pertama dari dua angka masukan yang berbeda dari nol (yaitu, salah satu dari 1, atau 1). (A | B) hasilnya adalah 61, biner adalah 00111101
^ Bitwise XOR bitwise eksklusif operator OR ^ membandingkan dua angka dan kemudian kembali nomor, nomor ini ditetapkan untuk masing-masing Kondisi bit 1 adalah dua input dengan nomor yang berbeda jika sama dengan nol. (A ^ B) hasil untuk 49 binari untuk 00110001
~ operator bitwise - untuk sejumlah operasi setiap bit terbalik. (~ A) -61 hasilnya, biner adalah 1100 0011 di 2 ini bentuk komplemen.
<< Bitwise kiri. Operator shift kiri (<<) akan bergerak ke kiri semua jumlah bit yang bit ditentukan operan.

Gambar berikut menunjukkan << 1 11111111 (11111111 meninggalkan satu) hasil. Biru angka dipindahkan agak abu-abu bit dibuang, mengisi kekosongan dengan oranye 0.

A << 2 hasil untuk 240 biner adalah 11110000
>> Bitwise tepat. Semua bit ke kanan dan memindahkan jumlah bit yang ditentukan operator (<<) operan.

Gambar berikut ini menunjukkan >> 1 11111111 (11111111 benar) hasil. Biru angka dipindahkan agak abu-abu bit dibuang, mengisi kekosongan dengan oranye 0.

Sebuah >> 2 hasil untuk 15 0000 1111 sistem biner

Berikut ini adalah contoh sederhana dari operasi bit:

import Cocoa

var A = 60  // 二进制为 0011 1100
var B = 13 // 二进制为 0000 1101

print("A&B 结果为:\(A&B)")
print("A|B 结果为:\(A|B)")
print("A^B 结果为:\(A^B)")
print("~A 结果为:\(~A)")

Atas hasil pelaksanaan program:

A&B 结果为:12
A|B 结果为:61
A^B 结果为:49
~A 结果为:-61

Operator penugasan

Tabel berikut mencantumkan operator tugas dasar bahasa Swift:

operator deskripsi contoh
= operator penugasan sederhana, menentukan operan kanan ditugaskan untuk operan kiri. C hasil = A + B A + B operasi ditugaskan untuk C
+ = Menambahkan setelah tugas, sisi kiri dan kanan dari operan sebelum menambahkan ditugaskan untuk operan kiri. C + = A sesuai dengan C = C + A
- = Setelah pengurangan tugas, operan kiri dan kanan pada kedua sisi operan kiri setelah pengurangan ditugaskan untuk. C - = A sesuai dengan C = C - A
* = Kemudian mengalikan tugas, sisi kiri dan kanan dari operan dikalikan sebelum tugas untuk operan kiri. C * = A sesuai dengan C = C * A
/ = Dibagi setelah tugas, sisi kiri dan kanan dari operan pemisah setelah tugas untuk operan kiri. C / = A setara C = C / A
% = Sisanya setelah tugas, sisi kiri dan kanan dari operan sisanya setelah tugas untuk operan kiri. C% = A setara dengan C = C% A
<< = Bitwise kiri setelah penugasan C << = 2 sesuai dengan C = C << 2
>> = Bitwise tepat setelah tugas C >> = 2 adalah setara dengan C = C >> 2
& = Bitwise AND tugas setelah operasi C & = 2 adalah setara dengan C = C & 2
^ = Bitwise eksklusif OR operator dan kemudian ditugaskan C ^ = 2 adalah setara dengan C = C ^ 2
| = Bitwise OR tugas setelah C | = 2 sesuai dengan C = C | 2

Berikut ini adalah contoh sederhana dari operator penugasan:

import Cocoa

var A = 10
var B = 20
var C = 100

C = A + B
print("C 结果为:\(C)")

C += A
print("C 结果为:\(C)")

C -= A
print("C 结果为:\(C)")

C *= A
print("C 结果为:\(C)")

C /= A
print("C 结果为:\(C)")

//以下测试已注释,可去掉注释测试每个实例
/*
C %= A
print("C 结果为:\(C)")


C <<= A
print("C 结果为:\(C)")

C >>= A
print("C 结果为:\(C)")

C &= A
print("C 结果为:\(C)")

C ^= A
print("C 结果为:\(C)")

C |= A
print("C 结果为:\(C)")
*/

Atas hasil pelaksanaan program:

C 结果为:30
C 结果为:40
C 结果为:30
C 结果为:300
C 结果为:30

Operator Interval

Swift menawarkan dua operator jangkauan.

operator deskripsi contoh
Tertutup Interval Operator Operator interval tertutup (a ... b) interval didefinisikan berisi semua nilai-nilai dari a ke b (termasuk a dan b), b harus lebih besar dari atau sama dengan. Tertutup selang Operator iterasi dalam berbagai semua nilai sangat berguna, seperti dalam untuk-dalam lingkaran: 1 ... 5 rentang 1, 2, 3, 4 dan 5
Operator selang setengah terbuka Setengah terbuka selang (a .. 1 .. <5 nilai interval 1, 2, 3, dan 4

Berikut ini adalah contoh sederhana dari aritmatika Interval:

import Cocoa

print("闭区间运算符:")
for index in 1...5 {
    print("\(index) * 5 = \(index * 5)")
}

print("半开区间运算符:")
for index in 1..<5 {
    print("\(index) * 5 = \(index * 5)")
}

Atas hasil pelaksanaan program:

闭区间运算符:
1 * 5 = 5
2 * 5 = 10
3 * 5 = 15
4 * 5 = 20
5 * 5 = 25
半开区间运算符:
1 * 5 = 5
2 * 5 = 10
3 * 5 = 15
4 * 5 = 20

operator lain

Swift menawarkan jenis lain dari operator, seperti mono-, di-, dan operator ternary.

  • operator unary pada manipulasi objek operasi tunggal (misalnya -a ). Unary Operator Operator menit pra dan pasca operator, operator perlu pra-operasi segera sebelum objek (seperti !b ), operator belakang untuk operasi segera setelah objek (seperti i++ ).
  • operator biner mengoperasikan kedua objek operasi (seperti 2 + 3 ), itu adalah di rumah, seperti yang muncul antara dua operan.
  • Tiga operator ternary operasi target operasi, dan bahasa C, Swift hanya operator ternary, adalah operator ternary ( a ? b : c ).
operator deskripsi contoh
dikurangi unary Menambahkan depan digital - Awalan -3 Atau -4
unary ditambah Uang digital Tambahkan + Prefix 6 Hasil 6
operator ternary ? Kondisi X: Y Jika Anda menambahkan benar, nilai X, jika Y

Berikut ini adalah satu dolar, contoh sederhana dari operasi biner dan terner:

import Cocoa

var A = 1
var B = 2
var C = true
var D = false
print("-A 的值为:\(-A)")
print("A + B 的值为:\(A + B)")
print("三元运算:\(C ? A : B )")
print("三元运算:\(D ? A : B )")

Atas hasil pelaksanaan program:

-A 的值为:-1
A + B 的值为:3
三元运算:1
三元运算:2

Precedence Operator

Dalam ungkapan mungkin berisi sejumlah operator yang berbeda menghubungkan dengan jenis data yang berbeda dari objek data; karena ekspresi memiliki berbagai operasi, urutan yang berbeda dari operasi mungkin memiliki hasil yang berbeda bahkan keliru kesalahan operasi, karena ketika ketika sebuah ekspresi yang mengandung berbagai operasi, menurut urutan tertentu harus digabungkan untuk memastikan rasionalitas dan kebenaran dari hasil, keunikan operasi.

Prioritas dalam urutan dari atas ke bawah, atas memiliki prioritas tertinggi, operator koma memiliki prioritas terendah.

Tingkat prioritas yang sama, sesuai dengan urutan mengikat perhitungan. Sebagian besar operasi dihitung dari kiri ke kanan, hanya tiga prioritas yang kanan-ke-kiri kombinasi, mereka operator unary, operator kondisional, operator penugasan.

Prioritas dasar perlu diingat:

  • pointer yang optimal, unary dari operator biner. Sebagai tanda.
  • perkalian pertama dan pembagian (modulus) setelah pengurangan.
  • Pertama operasi pergeseran aritmatika setelah bit komputasi terakhir. Silahkan membayar perhatian khusus untuk: << 1 2 & 3 + 7 adalah setara dengan (1 << (3 + 2)) & 7
  • Akhir operasi perhitungan logika
Jenis Operator operator arah mengikat
evaluasi ekspresi () []. Expr ++ expr-- Kiri ke Kanan
Operator unary

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

* /%

+ -

>> <<

<> <=> =

==! =

Kanan ke Kiri
bitwise Operator

&

^

|

&&

||

Kiri ke Kanan
operator ternary ?: Kanan ke Kiri
Operator penugasan = + = - = * = / =% = >> = << = & = ^ = | = Kanan ke Kiri
koma . Kiri ke Kanan

Berikut ini adalah contoh sederhana dari operator didahulukan:

import Cocoa

var A = 0

A = 2 + 3 * 4 % 5
print("A 的值为:\(A)")

Atas hasil pelaksanaan program:

A 的值为:4

contoh analisis:

Menurut operator didahulukan, Anda dapat memprogram pengoperasian langkah di atas resolve ekspresi berikut ini setara dengan:

2 + ((3 * 4) % 5)

Langkah pertama dalam perhitungan: (3 * 4) = 12, sehingga ekspresi setara dengan:

2 + (12 % 5)

Langkah kedua untuk menghitung 12% 5 = 2, sehingga ekspresi setara dengan:

2 + 2

Pada titik ini dapat dengan mudah dilihat bahwa hasil dihitung dari empat.