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ą