Elementare Operatoren in Swift

Wie auch in anderen Programmiersprachen, gibt es in Swift die Standard-Rechenoperatoren, also “+”, “-“, “*”, “/“ und “%” (Modulo- oder auch Restwertoperator genannt).

In diesem Zusammenhang darf freilich nicht der Zuweisungsoperator “=“ vergessen werden, mit dem ein Wert einer Variable zugewiesen werden kann, z.B.

let x = 100
var y = 42

Bei der Erstzuweisung müssen dabei die Schlüsselwörter let oder var genutzt werden, wobei eine Variable, die mit let deklariert wurde, unveränderbar ist, während eine Variable, die mit var deklariert wurde durchaus eine Neuzuweisung erfahren kann.

let x = 100
x = 200 // -> Fehler

var y = 42
y = 200 // -> 200

Merke: Bei Zeichenketten, Zahlen, structs, enums, Tupels, Arrays und Dictionarys handelt es sich um Werttypen (value types). Das bedeutet, dass bei einer Zuweisung die Daten kopiert werden.

var a = 70
var b = a
a = 70 + 30
print(a) // -> 100
print(b) // -> 70

Wie man dem Beispiel entnehmen kann, bleibt nach der Zuweisung var b = a der ursprüngliche Wert 70 erhalten. Da es sich um einen Werttyp handelt sind die Ausgangsdaten und die kopierten Daten vollkommen unabhängig voneinander.

Das vorangegangene Beispiel zeigt außerdem die Verwendung des Additions-Operators “+”. Auf die gleiche Weise finden auch die anderen Rechenoperatoren Anwendung, z.B.

let r = 4 * 4 // -> 16
let s = 10 / 5 // -> 2

Mithilfe des Modulo-Operators kann der Restwert einer Division ermittelt werden:

let s = 10 % 3 // -> 1

Folgende Multiplikation wird aber zum Scheitern verurteilt sein:

let a = 4 // -> Int-Typ
let b = 1.7 // -> Double-Typ
let c = a * b // -> Fehler

Denn hier wird versucht Werte unterschiedlichen Typs zu multiplizieren (Int und Double). Swift kennt keine automatische Typumwandlung. Diese muss vielmehr explizit erfolgen. Dies macht man, indem der Typ, in den konvertiert werden soll, vorangestellt wird:

let c = Double(a) * b // -> 6.8

Oder:

let c = a * Int(b) // -> 4

Bei der Umwandlung in den Integer-Typ nimmt Swift eine Abrundung vor, was also hier zur Multiplikation von 4 * 1 führt, weswegen als Ergebnis die Zahl 4 ausgegeben wird.

Mit dem Additionsoperator “+” können übrigens nicht nur Zahlen, sondern auch Zeichenketten “addiert”, sprich zusammengefügt werden:

let a = "Eine "
let b = "zusammengesetzte "
let c = "Zeichenkette."
let d = a + b + c
print(d) // -> Eine zusammengesetzte Zeichenkette.

Zum Abschluss noch der Hinweis, dass es zum Thema Rechenoperatoren, sowie auch zu anderen Swift-Themen, ein Youtube-Video gibt.

Durch Benutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Mehr Informationen

Die Verwendung von Cookies dient dazu, Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf diese Website zu analysieren. Außerdem werden Informationen zur Nutzung dieser Webseite an Partner für soziale Medien, Werbung und Analysen weitergegeben.

Schließen