Swift - operatorzy
Operator to symbol, który mówi kompilatorowi, aby wykonał określone operacje matematyczne lub logiczne. Objective-C jest bogaty we wbudowane operatory i zapewnia następujące typy operatorów -
- Operatory arytmetyczne
- Operatory porównania
- Operatory logiczne
- Operatory bitowe
- Operatory przypisania
- Operatorzy zasięgu
- Różne operatory
Ten samouczek wyjaśni po kolei operatory arytmetyczne, relacyjne, logiczne, bitowe, przypisania i inne.
Operatory arytmetyczne
Poniższa tabela przedstawia wszystkie operatory arytmetyczne obsługiwane przez język Swift 4. Przyjmij zmiennąA posiada 10 i zmienną B mieści 20, a następnie -
Operator | Opis | Przykład |
---|---|---|
+ | Dodaje dwa operandy | A + B da 30 |
- | Odejmuje drugi operand od pierwszego | A - B da -10 |
* | Mnoży oba operandy | A * B da 200 |
/ | Dzieli licznik przez mianownik | B / A da 2 |
% | Operator modułu i reszta z dzielenia liczb całkowitych / zmiennoprzecinkowych | B% A da 0 |
Operatory porównania
Poniższa tabela przedstawia wszystkie operatory relacyjne obsługiwane przez język Swift 4. Przyjmij zmiennąA posiada 10 i zmienną B mieści 20, a następnie -
Operator | Opis | Przykład |
---|---|---|
== | Sprawdza, czy wartości dwóch operandów są równe, czy nie; jeśli tak, to warunek staje się prawdziwy. | (A == B) nie jest prawdą. |
! = | Sprawdza, czy wartości dwóch operandów są równe, czy nie; jeśli wartości nie są równe, warunek staje się prawdziwy. | (A! = B) jest prawdą. |
> | Sprawdza, czy wartość lewego operandu jest większa niż wartość prawego operandu; jeśli tak, to warunek staje się prawdziwy. | (A> B) nie jest prawdą. |
< | Sprawdza, czy wartość lewego operandu jest mniejsza niż wartość prawego operandu; jeśli tak, to warunek staje się prawdziwy. | (A <B) jest prawdą. |
> = | Sprawdza, czy wartość lewego operandu jest większa lub równa wartości prawego operandu; jeśli tak, to warunek staje się prawdziwy. | (A> = B) nie jest prawdą. |
<= | Sprawdza, czy wartość lewego operandu jest mniejsza lub równa wartości prawego operandu; jeśli tak, to warunek staje się prawdziwy. | (A <= B) jest prawdą. |
Operatory logiczne
W poniższej tabeli przedstawiono wszystkie operatory logiczne obsługiwane przez język Swift 4. Przyjmij zmiennąA zawiera 1 i zmienną B posiada 0, a następnie -
Operator | Opis | Przykład |
---|---|---|
&& | Nazywany operatorem logicznym AND. Jeśli oba operandy są niezerowe, warunek staje się prawdziwy. | (A && B) jest fałszem. |
|| | Nazywany operatorem logicznym OR. Jeśli którykolwiek z dwóch operandów jest niezerowy, warunek staje się prawdziwy. | (A || B) jest prawdą. |
! | Nazywany operatorem logicznym NOT. Służy do odwracania stanu logicznego operandu. Jeśli warunek jest prawdziwy, operator logiczny NIE spowoduje, że będzie fałszywy. | ! (A && B) jest prawdą. |
Operatory bitowe
Operatory bitowe działają na bitach i wykonują operacje bit po bicie. Tabele prawdy dla &, | i ^ są następujące -
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
Operatory bitowe obsługiwane przez język Swift 4 są wymienione w poniższej tabeli. Przyjmij zmiennąA mieści 60 i zmienną B posiada 13, a następnie 7−
Operator | Opis | Przykład |
---|---|---|
& | Operator binarny AND kopiuje trochę do wyniku, jeśli istnieje w obu operandach. | (A i B) da 12, czyli 0000 1100 |
| | Operator binarny OR kopiuje bit, jeśli istnieje w którymkolwiek z operandów. | (A | B) da 61, czyli 0011 1101 |
^ | Binarny operator XOR kopiuje bit, jeśli jest ustawiony w jednym operandzie, ale nie w obu. | (A ^ B) da 49, czyli 0011 0001 |
~ | Operator dopełniacza binarnego jest jednoargumentowy i powoduje „odwracanie” bitów. | (~ A) da -61, czyli 1100 0011 w postaci uzupełnienia do 2. |
<< | Binarny operator przesunięcia w lewo. Wartość lewego operandu jest przesuwana w lewo o liczbę bitów określoną przez prawy operand. | (A << 2 da 240, czyli 1111 0000 |
>> | Binarny operator przesunięcia w prawo. Wartość lewego operandu jest przesuwana w prawo o liczbę bitów określoną przez prawy operand. | >> 2 da 15, czyli 0000 1111 |
Operatory przypisania
SSwift 4 obsługuje następujące operatory przypisania -
Operator | Opis | Przykład |
---|---|---|
= | Prosty operator przypisania, przypisuje wartości z operandów po prawej stronie do argumentów po lewej stronie | C = A + B przypisze wartość A + B do C. |
+ = | Dodaj operator przypisania AND, dodaje prawy operand do lewego operandu i przypisuje wynik do lewego operandu | C + = A jest równoważne C = C + A |
- = | Operator odejmowania AND przypisania, odejmuje prawy operand od lewego operandu i przypisuje wynik do lewego operandu | C - = A jest równoważne C = C - A |
* = | Operator mnożenia AND przypisania, mnoży prawy operand z lewym operandem i przypisuje wynik do lewego operandu | C * = A jest równoważne C = C * A |
/ = | Operator podziału AND przypisania, dzieli lewy operand z prawym operandem i przypisuje wynik do lewego operandu | C / = A jest równoważne C = C / A |
% = | Operator przypisania modułu AND, pobiera moduł za pomocą dwóch operandów i przypisuje wynik do lewego operandu | C% = A jest równoważne C = C% A |
<< = | Operator przesunięcia w lewo AND przypisania | C << = 2 to to samo, co C = C << 2 |
>> = | Operator prawego przesunięcia AND przypisania | C >> = 2 to to samo, co C = C >> 2 |
& = | Operator przypisania bitowego AND | C & = 2 to to samo, co C = C & 2 |
^ = | bitowe wykluczające OR i operator przypisania | C ^ = 2 to to samo, co C = C ^ 2 |
| = | bitowy operator OR i przypisanie | C | = 2 to to samo, co C = C | 2 |
Operatorzy zasięgu
Swift 4 zawiera dwa operatory zakresu, które są skrótami do wyrażania zakresu wartości. Poniższa tabela wyjaśnia te dwa operatory.
Operator | Opis | Przykład |
---|---|---|
Zakres zamknięty | (a ... b) definiuje zakres od a do b i zawiera wartości a i b. | 1 ... 5 daje 1, 2, 3, 4 i 5 |
Zakres półotwarty | (a .. <b) definiuje zakres od a do b, ale nie obejmuje b. | 1 .. <5 daje 1, 2, 3 i 4 |
Zakres jednostronny | a… definiuje zakres obejmujący od a do końca elementów … A, definiuje zakres od początku do a |
1… daje 1, 2,3… koniec elementów … 2 daje początek… 1,2 |
Różne operatory
Swift 4 obsługuje kilku innych ważnych operatorów, w tym rangei ? : które wyjaśniono w poniższej tabeli.
Operator | Opis | Przykład |
---|---|---|
Jednoargumentowy minus | Znak wartości liczbowej można przełączać za pomocą przedrostka - | -3 lub -4 |
Unary Plus | Zwraca wartość, na której działa, bez żadnych zmian. | +6 daje 6 |
Warunkowe trójskładnikowe | Stan: schorzenie ? X: Y | Jeśli warunek jest prawdziwy? Wtedy wartość X: W przeciwnym razie wartość Y |
Pierwszeństwo operatorów
Pierwszeństwo operatorów określa grupowanie terminów w wyrażeniu. Wpływa to na sposób oceny wyrażenia. Niektórzy operatorzy mają wyższy priorytet niż inni; na przykład operator mnożenia ma wyższy priorytet niż operator dodawania.
Na przykład x = 7 + 3 * 2; tutaj x ma przypisane 13, a nie 20, ponieważ operator * ma wyższy priorytet niż +, więc najpierw jest mnożony przez 3 * 2, a następnie sumowany do 7.
Tutaj operatory o najwyższym priorytecie pojawiają się na górze tabeli, a operatory o najniższym priorytecie - na dole. W wyrażeniu najpierw zostaną ocenione operatory o wyższym priorytecie.
Operator | Opis | Przykład |
---|---|---|
Podstawowe operatory wyrażeń | () []. wyrażenie ++ wyrażenie-- | z lewej na prawą |
Operatory jednoargumentowe | * & + -! ~ ++ wyrażenie - wyr * /% + - >> << <> <=> = ==! = |
od prawej do lewej |
Operatory binarne | & ^ | && || |
z lewej na prawą |
Operator trójskładnikowy | ?: | od prawej do lewej |
Operatory przypisania | = + = - = * = / =% = >> = << = & = ^ = | = | od prawej do lewej |
Przecinek | , | z lewej na prawą |