Latest web development tutorials

Operatorzy Swift

Operator jest symbolem, używany do poinformować kompilator wykonać matematycznego lub logicznych operacji.

Swift zapewnia następujące podmioty:

  • operatory arytmetyczne
  • porównanie
  • Operatory logiczne
  • Operatory bitowe
  • Operatory przypisania
  • Operatorzy interval
  • inni operatorzy

W tym rozdziale wyjaśnimy wam operatory arytmetyczne, operatory relacyjne, operatory logiczne, operatory bitowe, operator przypisania i inne podmioty.


operatory arytmetyczne

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

Przykłady

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

porównanie

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.

Przykłady

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

Operatory logiczne

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

Operatory bitowe

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

Operatory przypisania

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

Operatorzy interval

Swift oferuje dwa operatory zasięgu.

operatorzy opis Przykłady
Operatorzy przedziale domkniętym Zamknięty Operator przedziale (a ... 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 ... 5 zakres wynosi 1, 2, 3, 4 i 5
Półotwarty przedział operatora Interwał półotwarty (a .. 1 .. <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 1...5 {
    print("\(index) * 5 = \(index * 5)")
}

print("半开区间运算符:")
for index in 1..<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

inni operatorzy

Szybka oferuje inne typy napędów, takich jak mono-, di- i operatora trójskładnikowego.

  • Jednoargumentowe operatorzy na manipulację pojedynczego obiektu operacyjnego (np -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++ ).
  • Operatory działają oba obiekty operacyjne (takie jak 2 + 3 ), to jest w domu, jak pojawiają się one między dwoma argumentami.
  • Trzy trójoperandowy operator działający cel pracy oraz języków C, Swift jest jedynym operatorem trójargumentowy jest trójskładnikowych operatora ( 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

Priorytet operatorów

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ć:

  • Optymalny wskaźnik, jednoskładnikowa niż operatorów binarnych. Jako znak.
  • Po pierwsze mnożenie i dzielenie (moduł) po odjęciu.
  • Pierwsza operacja arytmetyczna shift po ostatnim bitowe. Proszę zwrócić szczególną uwagę na: << 1 2 & 3 + 7 jest równa (1 << (3 + 2)) i 7
  • Końcowa operacja logiczna kalkulacja
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.