Latest web development tutorials

Swift-Operatoren

Ein Operator ist ein Symbol, verwendet, um den Compiler zu sagen, eine mathematische oder logische Operationen auszuführen.

Swift bietet die folgenden Operatoren:

  • Arithmetische Operatoren
  • Vergleich
  • Logische Operatoren
  • Bitweise Operatoren
  • Zuweisungsoperatoren
  • Intervall-Operatoren
  • Andere Betreiber

In diesem Kapitel werden wir Ihnen arithmetische Operatoren, relationale Operatoren, logische Operatoren Bit-Operatoren Zuweisungsoperator und andere Betreiber erklären.


Arithmetische Operatoren

Die folgende Tabelle listet die Swift Sprachunterstützung arithmetische Operatoren, von denen 10 variable Eine Variable B 20:

Die Betreiber Beschreibung Beispiele
+ plus Ergebnisse für A + B 30
- minus A - B Ergebnisse -10
* Multiplikationszeichen A * B-Ergebnisse für 200
/ Zeichen der Teilung B / A 2 Ergebnisse
% Rest B% Ein Ergebnis ist 0
++ Zuwachs A ++ 11 Ergebnisse
- Decrement A-- Ergebnis 9

Beispiele

Es folgt ein einfaches Beispiel für arithmetische Operationen:

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)")

Die oben genannten Programmausführung Ergebnisse:

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

Vergleich

Die folgende Tabelle zeigt die Vergleichsoperatoren Swift Sprachunterstützung, wobei die Variablen A 10, B 20 Variablen:

Die Betreiber Beschreibung Beispiele
== gleich (A == B) falsch ist.
! = Ist das nicht gleich (A! = B) ist wahr.
> größer als (A> B) falsch ist.
< Weniger als (A <B) wahr ist.
> = Größer als oder gleich (A> = B) ist falsch.
<= Weniger als oder gleich (A <= B) ist wahr.

Beispiele

Es folgt ein einfaches Beispiel für Vergleichsoperationen:

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)")

Die oben genannten Programmausführung Ergebnisse:

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

Logische Operatoren

In der folgenden Tabelle sind die Swift Sprachunterstützung logischen Operatoren, wo die Variable A wahr ist, wird die Variable B ist falsch:

Die Betreiber Beschreibung Beispiele
&& Logik und. Wenn der Bediener beide Seiten TRUE TRUE war. (A && B) falsch ist.
|| Oder Logik. Wenn der Bediener auf beiden Seiten von mindestens einem von TRUE wahr war. (A || B) ist wahr.
! Logisches NICHT. Es invertiert den Booleschen Wert, so wahr wird falsch, falsch wahr wird. ! (A && B) wahr.

Folgende ist ein einfaches Beispiel für die logische Operation:

import Cocoa

var A = true
var B = false

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

Die oben genannten Programmausführung Ergebnisse:

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

Bitweise Operatoren

Bit-Operatoren Bit verwendet zu betreiben, ~, &, |, ^ wurden negiert und das Bit oder Bit und bitweise XOR-Verknüpfung mit den folgenden Tabelle Beispiele:

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

Wenn A = 60 und B = 13; zwei Variablen entsprechend binär ist:

A = 0011 1100

B = 0000 1101

Für Bit-Operationen:

Die Betreiber Beschreibung Diagramm Beispiele
& Logisches und. Mit einem bitweise AND-Operator auf zwei Zahlen arbeiten und gibt dann eine neue Nummer, jedes Bit dieser Zahl benötigt zwei Eingangszahlen sind nur 1 bis 1. (A & B) Ergebnis ist 12, ist die binäre 0000 1100
| Bitwise oder. Bitweise OR-Operator | zwei Zahlen vergleichen und gibt dann eine neue Nummer jeden Satz diese Zahl die gleichen Bedingungen wie die erste der beiden Eingangszahlen ist von Null verschieden sind (das heißt, einem von 1, oder sind 1). (A | B) das Ergebnis 61 ist, ist die binäre 00111101
^ Bitweise XOR Exklusives ODER-Operator ^ zwei Zahlen vergleichen und gibt dann eine Zahl ist, wird diese Zahl auf jedem Bit Zustand gesetzt 1 sind zwei Eingänge mit einer anderen Zahl, wenn gleich Null ist. (A ^ B) ergibt sich für die 49-Binärdateien zu 00.110.001
~ Bitoperatoren - für eine Reihe von Operationen jedes Bit invertiert. (~ A) -61 Ergebnis der binäre 1100 0011 in 2-Komplement-Form.
<< Bitweise links. Die linke Shift-Operator (<<) wird auf der linken Seite alle Bits Anzahl der Bits angegebenen Operanden zu bewegen.

Die folgende Abbildung zeigt << 1 11111111 (11111111 linke) Ergebnisse. Blaue Ziffern werden Bit-Grau verworfenen Bits bewegt, 0 offene Stellen mit orange Füllung.

A << 2 Ergebnisse für 240 binär 11110000
>> Bitwise rechts. Alle Bits nach rechts und bewegen Sie die Anzahl der Bits angegeben Operator (<<) Operanden.

Die folgende Abbildung zeigt >> 1 11111111 (11111111 rechts) ergibt. Blaue Ziffern werden Bit-Grau verworfenen Bits bewegt, 0 offene Stellen mit orange Füllung.

A >> 2 Ergebnisse für 15 0000 1111 Binärsystem

Im Folgenden ist ein einfaches Beispiel für Bit-Operationen:

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)")

Die oben genannten Programmausführung Ergebnisse:

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

Zuweisungsoperatoren

Die folgende Tabelle listet die Zuweisungsoperator Swift Sprache:

Die Betreiber Beschreibung Beispiele
= Einfache Zuweisungsoperator, gibt den rechten Operanden auf der linken Operanden zugewiesen. C = A + B A + B Operationsergebnis wird zu C zugewiesen
+ = Hinzufügen nach der Zuweisung, die linken und rechten Seite des Operanden vor dem linken Operand zugewiesen hinzugefügt wird. C + = A entspricht C = C + A
- = die linken und rechten Operanden auf beiden Seiten des linken Operanden nach Subtraktionszuweisung nach Subtraktion zugewiesen. C - = A entspricht C = C - A
* = Dann die Zuordnung multipliziert, die linken und rechten Seite der Operanden vor der Zuweisung an den linken Operanden multipliziert. C * = A entspricht C = C * A
/ = Unterteilt nach der Zuweisung, die linken und rechten Seite des Teilungsoperanden nach der Abtretung der linken Operanden. C / A = entspricht C = C / A
% = Rest nach der Zuweisung, die linken und rechten Seite des restlichen Operanden nach der Abtretung des linken Operanden. C% = A entspricht C = C% A
<< = Bitweise links nach der Abtretung C << = 2 entspricht C = C << 2
>> = Bitwise direkt nach der Abtretung C >> = 2 entspricht C = C >> 2
& = Bitweise AND-Zuweisung nach der Operation C & = 2 entspricht C = C & 2
^ = Bitweise Exklusiv-ODER-Operator und dann zugewiesen C ^ = 2 entspricht C = C ^ 2
| = Bitweise OR-Zuweisung nach C | = 2 entspricht C = C | 2

Es folgt ein einfaches Beispiel des Zuweisungsoperators:

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)")
*/

Die oben genannten Programmausführung Ergebnisse:

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

Intervall-Operatoren

Swift bietet zwei Bereichsbetreiber.

Die Betreiber Beschreibung Beispiele
Geschlossen Intervall-Operatoren Geschlossen Intervall Operator (a ... b) einen definierten Intervall alle Werte von a nach b enthält (einschließlich a und b) müssen b größer oder gleich einem. Geschlossen Intervall Iteration Operator in einem Bereich aller Werte ist sehr nützlich, da in der for-Schleife in: 1 ... 5 Bereich von 1, 2, 3, 4 und 5
Halboffene Intervall Operator Halboffene Intervall (a .. 1 .. <5 Intervallwert von 1, 2, 3 und 4

Es folgt ein einfaches Beispiel für Intervall-Arithmetik:

import Cocoa

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

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

Die oben genannten Programmausführung Ergebnisse:

闭区间运算符:
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

Andere Betreiber

Swift bietet andere Arten von Operatoren, wie zum Beispiel ein Mono-, Di- und der ternäre Operator.

  • Unäre Operatoren auf einem einzigen Betriebsobjektmanipulation (zB -a ). Unärer Operator Operator Minute vor und nach dem Betreiber, müssen die Betreiber vorab Betrieb unmittelbar vor dem Objekt (zB !b ), hinten Operator für eine Operation unmittelbar nach dem Objekt (zB i++ ).
  • Binäre Operatoren arbeiten beide Betriebs Objekte (zB 2 + 3 ), ist es in der Heimat ist, da sie zwischen den beiden Operanden erscheinen.
  • Drei ternäre Operator den Betrieb Ziel Betrieb und C Sprachen, Swift ist nur ein ternäre Operator ist ternäre Operator ( a ? b : c ).
Die Betreiber Beschreibung Beispiele
Unäre minus Fügen Sie eine digitale Front - Präfix -3 Oder -4
Unäres Plus Das digitale Geld hinzufügen + Präfix 6 Ergebnis 6
Ternary Operator ? Bedingung X: Y Wenn Sie hinzufügen, gilt der Wert von X, sonst Y

Hier finden Sie einen Dollar, ein einfaches Beispiel für binäre und ternäre Operationen:

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 )")

Die oben genannten Programmausführung Ergebnisse:

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

Operator Präzedenz

In einem Ausdruck kann eine Vielzahl von verschiedenen Operatoren enthalten, die mit unterschiedlichen Datentypen von Datenobjekten verbindet; da die Expression einer Vielzahl von Operationen aufweist, eine andere Reihenfolge der Operationen unterschiedliche Ergebnisse sogar fehlerhafte Betriebsfehler aufweisen kann, weil, wenn wenn ein Ausdruck, der eine Vielzahl von Operationen, nach einer bestimmten Reihenfolge enthalten, müssen kombiniert werden, um die Rationalität und die Richtigkeit der Ergebnisse, die Einzigartigkeit der Betrieb zu gewährleisten.

Priorität in der Reihenfolge von oben nach unten absteigend, die Spitze hat die höchste Priorität, der Komma-Operator hat die niedrigste Priorität.

Das gleiche Prioritätsstufe, nach der Bindungsreihenfolge der Berechnung. Die meisten Operationen von links nach rechts berechnet werden, sind nur drei Prioritäten von rechts nach links Kombination, sie unäre Operatoren, Vergleichsoperatoren, Zuweisungsoperatoren sind.

Die grundlegenden Prioritäten müssen sich daran erinnern:

  • Optimale Zeiger, einstellige als binäre Operatoren. Als Zeichen.
  • Erste Multiplikation und Division (Modul) nach Abzug.
  • Erste arithmetische Schiebeoperation nach dem letzten Bit-Computing. Bitte achten Sie besonders auf: << 1 2 & 3 + 7 entspricht (1 << (3 + 2)) und 7
  • Endgültige Berechnung Logikoperation
Betreiber Typ Die Betreiber Verbindliche Richtung
Expression Evaluation () []. Expr ++ expr-- Von links nach rechts
unärer Operator

* & + - ~ ++ Expr --expr

* /%

+ -

>> <<

<> <=> =

==! =

Von rechts nach links
Bitweise Operatoren

&

^

|

&&

||

Von links nach rechts
Ternary Operator ?: Von rechts nach links
Zuweisungsoperatoren = + = - = * = / =% = >> = << = & = ^ = | = Von rechts nach links
Komma . Von links nach rechts

Im Folgenden ist ein einfaches Beispiel für die Rangfolge der Operatoren:

import Cocoa

var A = 0

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

Die oben genannten Programmausführung Ergebnisse:

A 的值为:4

Analyse Beispiele:

Laut Betreiber Vorrang, können Sie den Vorgang der obigen Schritte programmiert löst den folgenden Ausdruck entspricht:

2 + ((3 * 4) % 5)

Der erste Schritt in der Berechnung: (3 * 4) = 12, so der Ausdruck ist äquivalent zu:

2 + (12 % 5)

Der zweite Schritt 12% 5 = 2 ist, zu berechnen, so der Ausdruck ist äquivalent zu:

2 + 2

An diesem Punkt kann ohne weiteres, dass die berechneten Ergebnisse von vier zu sehen.