Najlepszy samouczek Operatorzy Swift W 2024 r. W tym samouczku możesz dowiedzieć się operatory arytmetyczne,porównanie,Operatory logiczne,Operatory bitowe,Operatory przypisania,Operatorzy interval,inni operatorzy,Priorytet operatorów,
Operator jest symbolem, używany do poinformować kompilator wykonać matematycznego lub logicznych operacji.
Swift zapewnia następujące podmioty:
W tym rozdziale wyjaśnimy wam operatory arytmetyczne, operatory relacyjne, operatory logiczne, operatory bitowe, operator przypisania i inne podmioty.
Poniższa tabela zawiera Swift obsługi języków operatorów arytmetycznych, z których zmienna 10 Zmienna B 20:
operatorzy | opis | Przykłady |
---|---|---|
+ | plus | Wyniki dla A + B 30 |
- | minus | A - Wyniki B -10 |
* | Mnożenie znak | A * B wyniki na 200 |
/ | Znak podziału | B / 2 wyników |
% | reszta | B% wynik jest 0 |
++ | przyrost | A ++ 11 wyników |
- | Zmniejszanie | A-- Wynik 9 |
Poniżej znajduje się prosty przykład operacji arytmetycznych:
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)")
Powyższe wyniki wykonania programu:
A + B 结果为:30 A - B 结果为:-10 A * B 结果为:200 B / A 结果为:2 A++ 后 A 的值为 11 B-- 后 B 的值为 19
W poniższej tabeli wymieniono operatory porównania Swift wsparcie językowe, w których zmienne A 10, B 20 zmienne:
operatorzy | opis | Przykłady |
---|---|---|
== | równy | (A == B) jest fałszywe. |
! = | Nie jest równy | (A! = B) jest prawdziwe. |
> | większy niż | (A> B) jest fałszywe. |
< | mniej niż | (A <B) jest prawdziwe. |
> = | Większe lub równe | (A> = B) jest fałszywe. |
<= | Mniejszy lub równy | (A <= B) jest prawdziwe. |
Poniżej znajduje się prosty przykład operacji porównania:
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)")
Powyższe wyniki wykonania programu:
A == B 结果为:false A != B 结果为:true A > B 结果为:false A < B 结果为:true A >= B 结果为:false A <= B 结果为:true
Poniższa tabela zawiera listę wspierających język Swift operatorów logicznych, w których zmienna A jest prawdziwa, zmienna B jest fałszywe:
operatorzy | opis | Przykłady |
---|---|---|
&& | Logika i. Jeżeli operator jest TRUE obie strony to prawda. | (A && B) jest fałszywe. |
|| | Albo logika. Jeżeli operator po obu stronach co najmniej jednego z TRUE prawdziwa. | (A || B) jest prawdziwe. |
! | NIE logiczne. To odwraca wartość logiczną, więc prawda staje się fałszem, fałszywe staje się prawdziwe. | ! (A && B) jest prawdziwe. |
Poniżej znajduje się prosty przykład operacji logicznych:
import Cocoa var A = true var B = false print("A && B 结果为:\(A && B)") print("A || B 结果为:\(A || B)") print("!A 结果为:\(!A)") print("!B 结果为:\(!B)")
Powyższe wyniki wykonania programu:
A && B 结果为:false A || B 结果为:true !A 结果为:false !B 结果为:true
Operatorzy bitowe bity wykorzystywane do obsługi, ~ i, | ^ zostały zanegowany, a bit lub po kroku, a bitowe operacji XOR następującymi przykładami tabeli:
p | q | P & P | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
Jeśli A = 60; B = 13; dwie zmienne odpowiadające binarnym:
A = 0011 1100 B = 0000 1101
W przypadku operacji bitowych:
operatorzy | opis | schemat | Przykłady |
---|---|---|---|
& | Bitowe i. Z bitowym I operatorowi obsługę dwóch numerów, a następnie zwraca nowy numer, każdy bit tej liczby wymaga dwóch wejść numery są tylko od 1 do 1. | (A i B), wynik wynosi 12, binarna 0000 1100 | |
| | Bitowe lub. Bitowe Operator OR | porównać dwie liczby, a następnie zwraca nowy numer każdego zbioru liczba ta jest takie same warunki jak w pierwszym z dwóch wejściowych liczb są różne od zera (czyli jednego z 1 lub są 1). | (A | B) wynik wynosi 61, jest binarna 00111101 | |
^ | Bitowe XOR bitowe wyłączną Operator OR ^ porównać dwie liczby, a następnie zwraca numer, numer ten jest ustawiony na każdy bit Stan 1 są dwa wejścia z innym numerem, jeśli równa zeru. | (A ^ B) wynikach za 49 binarne do 00.110.001 | |
~ | Operatory bitowe - dla wielu operacji każdy bit odwrócone. | (~ A) -61 wynik, binarna jest 1100 0011 w 2 Kształt dopełniacza. | |
<< | Bitowe w lewo. Operator lewy shift (<<) przesunie się w lewo całej liczby bitów bitów określonych argument. | Poniższa ilustracja pokazuje << 1 11111111 (11111111 lewy) rezultaty. Niebieskie cyfry są przemieszczane bitowych szare odrzuconych bitów, obsadzaniu wolnych stanowisk z pomarańczowym 0. | A << 2 wyniki dla 240 binarnego 11110000 |
>> | Bitowe w prawo. Wszystkie bity w prawo i przesunąć liczbę bitów określonych Operator (<<) argument. | Poniższy rysunek przedstawia >> 1 11111111 (11111111 słuszna) rezultaty. Niebieskie cyfry są przemieszczane bitowych szare odrzuconych bitów, obsadzaniu wolnych stanowisk z pomarańczowym 0. | >> 2 wyniki dla 15 0000 1111 systemie binarnym |
Poniżej znajduje się prosty przykład operacji bitowych:
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)")
Powyższe wyniki wykonania programu:
A&B 结果为:12 A|B 结果为:61 A^B 结果为:49 ~A 结果为:-61
Poniższa tabela przedstawia podstawowe operatora przypisania Swift język:
operatorzy | opis | Przykłady |
---|---|---|
= | Proste operator przypisania, określa prawy operand przypisaną do lewego argumentu. | Wynik C = A + B A + B Działanie jest przypisany do C |
+ = | Dodanie po cesji, lewa i prawa strona tego argumentu przed dodaniem przypisane do lewego argumentu. | C + = A odpowiada = C + A |
- = | Po cesji odejmowania, lewy i prawy argumenty po obu stronach lewego operandu po odjęciu przypisany. | C - = A odpowiada = C - A |
* = | Następnie mnożąc zadanie, po lewej i prawej strony operandów są mnożone przed przydzieleniem do lewego argumentu. | C * = A odpowiada = C * A |
/ = | Podzielone po cesji, lewa i prawa strona tego argumentu dzielącym po przydzieleniu do lewego argumentu. | C / = A jest równoważne C = C / A |
% = | Pozostałą po cesji, lewa i prawa strona tego argumentu pozostałej po przydzieleniu do lewego argumentu. | C% = A jest równoważne = C% A |
<< = | Bitowe w lewo po cesji | C << = 2 odpowiada = C << 2 |
>> = | Bitowe tuż po cesji | C >> = 2 jest równa = C >> 2 |
& = | Bitowe i przyporządkowanie po operacji | C & = 2 jest równa C = C 2 |
^ = | Bitowe wyłączną operator OR, a następnie przypisano | C ^ = 2 jest równa = C ^ 2 |
| = | Bitowe lub cesja po | C | = 2 odpowiada = C | 2 |
Poniżej znajduje się prosty przykład operatora przypisania:
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)") */
Powyższe wyniki wykonania programu:
C 结果为:30 C 结果为:40 C 结果为:30 C 结果为:300 C 结果为:30
Swift oferuje dwa operatory zasięgu.
operatorzy | opis | Przykłady |
---|---|---|
Operatorzy przedziale domkniętym | Zamknięty Operator przedziale (a pl. b) określony przedział zawiera wszystkie wartości z punktu A do B (w tym A i B), b musi być większa lub równa a. Odcinkiem operatora iteracji w zakresie wszystkich wartości jest bardzo użyteczna, tak jak w w w pętli: | 1 pl. 5 zakres wynosi 1, 2, 3, 4 i 5 |
Półotwarty przedział operatora | Interwał półotwarty (a pl | 1 pl <5 wartość interwału 1, 2, 3 i 4 |
Poniżej znajduje się prosty przykład arytmetyki interwałowej:
import Cocoa print("闭区间运算符:") for index in 1pl.5 { print("\(index) * 5 = \(index * 5)") } print("半开区间运算符:") for index in 1pl<5 { print("\(index) * 5 = \(index * 5)") }
Powyższe wyniki wykonania programu:
闭区间运算符: 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
Szybka oferuje inne typy napędów, takich jak mono-, di- i operatora trójskładnikowego.
-a
). Jednoargumentowe operator operator minut przed i po operatorzy, operatorzy muszą wstępnie działających bezpośrednio przed obiektem (na przykład !b
), tylny operatora dla operacji bezpośrednio po obiekcie (jak i++
). 2 + 3
), to jest w domu, jak pojawiają się one między dwoma argumentami. a ? b : c
). operatorzy | opis | Przykłady |
---|---|---|
jednoargumentowy minus | Dodaj do przodu cyfrowej - prefiks | Albo -4 -3 |
jednoargumentowy Plus | Cyfrowy Money Dodaj prefix | Wynik 6 +6 |
operator trójargumentowy | Warunki, X: Y | Jeśli dodać to prawda, wartość X, Y inaczej |
Poniżej zamieszczona jest jeden dolar, prosty przykład operacji dwuskładnikowych i trójskładnikowych:
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 )")
Powyższe wyniki wykonania programu:
-A 的值为:-1 A + B 的值为:3 三元运算:1 三元运算:2
W wyrażeniu może zawierać wiele różnych operatorów łączących się z różnych typów danych obiektów danych, gdyż wyrażenie ma wiele operacji, inna kolejność operacji może mieć różne wyniki nawet błędne błąd operacji, bo gdy gdy ekspresyjny zawierający szereg operacji, zgodnie z określonym porządku muszą być łączone w celu zapewnienia racjonalnego i prawidłowość wyniki, wyjątkowość działania.
Priorytet w kolejności od góry do dołu, górna ma najwyższy priorytet, operator przecinka ma najniższy priorytet.
Ten sam poziom priorytetu, według kolejności wiązania obliczeń. Większość operacji są obliczane od lewej do prawej, tylko trzy priorytety są od prawej do lewej połączeniu, są operatory jednoargumentowe, operatory warunkowe, operatory przypisania.
Podstawowe priorytety trzeba pamiętać:
Rodzaj operator | operatorzy | Oprawa kierunek |
---|---|---|
ocena Expression | () []. Expr ++ expr-- | Od lewej do prawej |
operator jednoargumentowy | * & + - ~ ++ Expr --expr * /% + - >> << <> <=> = ==! = | Od prawej do lewej |
Operatory bitowe | & ^ | && || | Od lewej do prawej |
operator trójargumentowy | ?: | Od prawej do lewej |
Operatory przypisania | = + = - = * = / =% = >> = << = & = ^ = | = | Od prawej do lewej |
przecinek | , | Od lewej do prawej |
Poniżej znajduje się prosty przykład pierwszeństwa operatora:
import Cocoa var A = 0 A = 2 + 3 * 4 % 5 print("A 的值为:\(A)")
Powyższe wyniki wykonania programu:
A 的值为:4
Przykłady analizy:
Według operatorów, można zaprogramować działanie powyższych etapów rozwiązuje następujące wyrażenie jest równoważne:
2 + ((3 * 4) % 5)
Pierwszym krokiem w obliczeniach (3 * 4) = 12, tak więc ekspresja jest równa:
2 + (12 % 5)
Drugi etap obliczania 12%, 5 = 2, to wyrażenie jest równoważne:
2 + 2
W tym momencie można z łatwością zauważyć, że obliczona jako cztery.