Swift - Operatoren

Ein Operator ist ein Symbol, das den Compiler anweist, bestimmte mathematische oder logische Manipulationen durchzuführen. Objective-C ist reich an integrierten Operatoren und bietet die folgenden Arten von Operatoren:

  • Rechenzeichen
  • Vergleichsoperatoren
  • Logische Operatoren
  • Bitweise Operatoren
  • Zuweisungsoperatoren
  • Bereichsoperatoren
  • Verschiedene Operatoren

In diesem Tutorial werden die arithmetischen, relationalen, logischen, bitweisen, Zuweisungs- und anderen Operatoren nacheinander erläutert.

Rechenzeichen

Die folgende Tabelle zeigt alle arithmetischen Operatoren, die von der Sprache Swift 4 unterstützt werden. Variable annehmenA hält 10 und variabel B hält 20, dann -

Operator Beschreibung Beispiel
+ Fügt zwei Operanden hinzu A + B ergibt 30
- - Subtrahiert den zweiten Operanden vom ersten A - B ergibt -10
* * Multipliziert beide Operanden A * B ergibt 200
/. Teilt den Zähler durch den Nenner B / A ergibt 2
%. Modul Operator und Rest von nach einer Integer / Float-Division B% A ergibt 0

Vergleichsoperatoren

Die folgende Tabelle zeigt alle relationalen Operatoren, die von der Sprache Swift 4 unterstützt werden. Variable annehmenA hält 10 und variabel B hält 20, dann -

Operator Beschreibung Beispiel
== Überprüft, ob die Werte von zwei Operanden gleich sind oder nicht. Wenn ja, wird die Bedingung erfüllt. (A == B) ist nicht wahr.
! = Überprüft, ob die Werte von zwei Operanden gleich sind oder nicht. Wenn die Werte nicht gleich sind, wird die Bedingung erfüllt. (A! = B) ist wahr.
> Überprüft, ob der Wert des linken Operanden größer als der Wert des rechten Operanden ist. Wenn ja, wird die Bedingung erfüllt. (A> B) ist nicht wahr.
< Überprüft, ob der Wert des linken Operanden kleiner als der Wert des rechten Operanden ist. Wenn ja, wird die Bedingung erfüllt. (A <B) ist wahr.
> = Überprüft, ob der Wert des linken Operanden größer oder gleich dem Wert des rechten Operanden ist. Wenn ja, wird die Bedingung erfüllt. (A> = B) ist nicht wahr.
<= Überprüft, ob der Wert des linken Operanden kleiner oder gleich dem Wert des rechten Operanden ist. Wenn ja, wird die Bedingung erfüllt. (A <= B) ist wahr.

Logische Operatoren

Die folgende Tabelle zeigt alle logischen Operatoren, die von der Sprache Swift 4 unterstützt werden. Variable annehmenA hält 1 und variabel B hält 0, dann -

Operator Beschreibung Beispiel
&& Wird als logischer UND-Operator bezeichnet. Wenn beide Operanden ungleich Null sind, wird die Bedingung wahr. (A && B) ist falsch.
|| Wird als logischer ODER-Operator bezeichnet. Wenn einer der beiden Operanden ungleich Null ist, wird die Bedingung erfüllt. (A || B) ist wahr.
! Wird als logischer NICHT-Operator bezeichnet. Verwenden Sie diese Option, um den logischen Status des Operanden umzukehren. Wenn eine Bedingung wahr ist, macht der Operator Logical NOT sie falsch. ! (A && B) ist wahr.

Bitweise Operatoren

Bitweise Operatoren arbeiten an Bits und führen bitweise Operationen durch. Die Wahrheitstabellen für &, | und ^ lauten wie folgt:

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

Bitweise Operatoren, die von der Sprache Swift 4 unterstützt werden, sind in der folgenden Tabelle aufgeführt. Variable annehmenA hält 60 und variabel B hält 13, dann 7−

Operator Beschreibung Beispiel
& Der binäre UND-Operator kopiert ein wenig in das Ergebnis, wenn es in beiden Operanden vorhanden ist. (A & B) ergibt 12, was 0000 1100 ist
| Der binäre ODER-Operator kopiert ein Bit, wenn es in einem der Operanden vorhanden ist. (A | B) ergibt 61, was 0011 1101 ist
^ Der binäre XOR-Operator kopiert das Bit, wenn es in einem Operanden gesetzt ist, aber nicht in beiden. (A ^ B) ergibt 49, was 0011 0001 ist
~ Der Komplementoperator für binäre Einsen ist unär und bewirkt das Umdrehen von Bits. (~ A) ergibt -61, was 1100 0011 in der 2er-Komplementform ist.
<< Binärer Linksschaltoperator. Der Wert der linken Operanden wird um die Anzahl der vom rechten Operanden angegebenen Bits nach links verschoben. (A << 2 ergibt 240, was 1111 0000 ist
>> Binärer Rechtsschieber. Der Wert der linken Operanden wird um die vom rechten Operanden angegebene Anzahl von Bits nach rechts verschoben. Eine >> 2 ergibt 15, was 0000 1111 ist

Zuweisungsoperatoren

SSwift 4 unterstützt die folgenden Zuweisungsoperatoren:

Operator Beschreibung Beispiel
= Einfacher Zuweisungsoperator, Weist Werte von Operanden auf der rechten Seite dem Operanden auf der linken Seite zu C = A + B weist C den Wert von A + B zu
+ = UND-Zuweisungsoperator hinzufügen. Er fügt dem linken Operanden den rechten Operanden hinzu und weist das Ergebnis dem linken Operanden zu C + = A entspricht C = C + A.
- = Subtrahieren UND Zuweisungsoperator, subtrahiert den rechten Operanden vom linken Operanden und weist das Ergebnis dem linken Operanden zu C - = A entspricht C = C - A.
* = Multiplizieren Sie den UND-Zuweisungsoperator. Er multipliziert den rechten Operanden mit dem linken Operanden und weist das Ergebnis dem linken Operanden zu C * = A entspricht C = C * A.
/ = Divisions- UND Zuweisungsoperator. Er teilt den linken Operanden mit dem rechten Operanden und weist das Ergebnis dem linken Operanden zu C / = A entspricht C = C / A.
% = Modul- UND Zuweisungsoperator. Der Modul wird mit zwei Operanden verwendet und das Ergebnis dem linken Operanden zugewiesen C% = A entspricht C = C% A.
<< = Linksverschiebung UND Zuweisungsoperator C << = 2 ist dasselbe wie C = C << 2
>> = Rechtsverschiebung UND Zuweisungsoperator C >> = 2 ist dasselbe wie C = C >> 2
& = Bitweiser UND-Zuweisungsoperator C & = 2 ist dasselbe wie C = C & 2
^ = bitweises exklusives ODER und Zuweisungsoperator C ^ = 2 ist dasselbe wie C = C ^ 2
| = bitweises Inklusiv-ODER und Zuweisungsoperator C | = 2 ist dasselbe wie C = C | 2

Bereichsoperatoren

Swift 4 enthält zwei Bereichsoperatoren, die Verknüpfungen zum Ausdrücken eines Wertebereichs darstellen. In der folgenden Tabelle werden diese beiden Operatoren erläutert.

Operator Beschreibung Beispiel
Geschlossener Bereich (a ... b) definiert einen Bereich von a bis b und enthält die Werte a und b. 1 ... 5 ergibt 1, 2, 3, 4 und 5
Halboffene Reichweite (a .. <b) definiert einen Bereich, der von a bis b reicht, aber b nicht enthält. 1 .. <5 ergibt 1, 2, 3 und 4
Einseitige Reichweite

a… definiert einen Bereich, der von einem bis zum Ende von Elementen reicht

… A definiert einen Bereich von Anfang bis a

1… ergibt 1, 2,3… Ende der Elemente

… 2 gibt den Anfang… bis 1,2

Verschiedene Operatoren

Swift 4 unterstützt einige andere wichtige Operatoren, darunter rangeund ? : die in der folgenden Tabelle erläutert werden.

Operator Beschreibung Beispiel
Unary Minus Das Vorzeichen eines numerischen Werts kann mit dem Präfix - umgeschaltet werden. -3 oder -4
Unary Plus Gibt den Wert zurück, mit dem es arbeitet, ohne Änderungen. +6 ergibt 6
Ternäre Bedingung Bedingung ? X: Y. Wenn Bedingung wahr ist? Dann Wert X: Andernfalls Wert Y.

Vorrang der Operatoren

Die Operatorrangfolge bestimmt die Gruppierung von Begriffen in einem Ausdruck. Dies wirkt sich darauf aus, wie ein Ausdruck ausgewertet wird. Bestimmte Operatoren haben eine höhere Priorität als andere. Beispielsweise hat der Multiplikationsoperator eine höhere Priorität als der Additionsoperator.

Zum Beispiel ist x = 7 + 3 * 2; Hier wird x 13 zugewiesen, nicht 20, da der Operator * eine höhere Priorität als + hat. Daher wird er zuerst mit 3 * 2 multipliziert und dann zu 7 addiert.

Hier werden Operatoren mit der höchsten Priorität oben in der Tabelle angezeigt, Operatoren mit der niedrigsten Priorität unten. Innerhalb eines Ausdrucks werden zuerst Operatoren mit höherer Priorität ausgewertet.

Operator Beschreibung Beispiel
Primäre Ausdrucksoperatoren () []. expr ++ expr-- links nach rechts
Unäre Operatoren

* & + -! ~ ++ expr --expr

* /%

+ -

>> <<

<> <=> =

==! =

rechts nach links
Binäroperatoren

&

^

|

&&

||

links nach rechts
Ternärer Operator ?: rechts nach links
Zuweisungsoperatoren = + = - = * = / =% = >> = << = & = ^ = | = rechts nach links
Komma , links nach rechts