
Kapitel 3 - Fortsetzung
Assignment Operatoren
Assignment- oder Anweisungs-Operatoren werden recht häufig in Programmen verwendet. Jeder arithmetische Operator (+ - / *) kann mit Assignment-Operatoren kombiniert werden. Im nächsten Kapitel werden wir für Schleifen z.B. folgende Anweisungen angeben:
zahl = zahl + 1
Diese Anweisung kann man auch mit einem Assignment Operator kombiniert werden und schaut dann so aus:
zahl + = 1
Welche Variante Sie anwenden bleibt Ihnen überlassen, es ist jedoch wichtig diese Operatoren zu kennen, da sehr viele Programmierer diese Assignemt Operatoren anwenden. Somit ist:
zahl - = 1
gleichbedeutend mit:
zahl = zahl - 1
Nur für Fortgeschrittene sind komplexere Operatoren wie z.B.:
x / = y + z
Dies ist gleichbedeutend mit:
x = x / (y + z)
Für manche Programmierer ist die schreibweise mit Assignment Operatoren einfacher, auch benötigt der Compiler weniger Zeit, was bei großen Programmen ein messbaren Vorteil bietet. Die Entscheidung dies zu tun liegt jedoch bei Ihnen.
Bitwise Operatoren
Sie kennen bereits einige Operatoren. Plus (+), Minus (-), Geteilt (/), Mal (*); all das sind arithmetische Operatoren mit denen Sie Rechnungen durchführen können. Später werden wir noch Vergleichs-Operatoren kennenlernen. Vergleichsoperatoren sind z.B. das kleiner-als Zeichen (<) oder das größer-als Zeichen (>), z.B.: x < y gibt an, dass die Variable x kleiner ist als y, man kann also Vergleiche anführen. Aber Objective-C hat noch andere Operatoren für Sie bereit, die sog. Bit Operatoren. Schauen wir auf folgende Tabelle:
Tabelle 4.1: Bit Operatoren
Symbol |
Operator |
& |
Bitwise AND; der Adressoperator |
| |
Bitwise inclusive-OR |
^ |
Bitwise OR |
~ |
Ones complement |
<< |
Left shift |
>> |
Right shift |
Bit Operatoren sind etwas für Fortgeschrittene, weshalb hier nur eine beispielhafte Erklärung folgen soll. Bit Operatoren können nur für Ganzzahlen verwendet werden. Dabei wird diese Ganzzahl erst in ein Bitmuster umgewandelt. Für die Zahl zwei z.B. ist das Bitmuster 0000 0010 (Genauer eigentlich 00000000000000000000000000000010 weil Ganzzahlen mittlerweile in 32 bits (sind übrigens 4 Bytes; ein Byte hat 8 bit) und nicht in acht bits abgespeichert werden) Wie Sie bereits wissen, versteht der Computer nur einen binären Code, bestehend aus Null und Eins. Eine Verschiebung z.B. des oberen Codes von ...0000 0010 in ...0000 0001 macht aus der Zahl 2 die Zahl 1. Genau so etwas können Sie mit Bit Operatoren machen, wenn Sie wollen.
Vielleicht ein praktisches Beispiel: Ich habe ihnen gesagt, dass für diese Operatoren nur Ganzzahlen zur Anwendung kommen. Sie können aber sowohl Textzeichen (wird in ASCII Code umgewandelt) als auch z.B. einen Farbwert am Bildschirm (RGB Color) in eine Ganzzahl und schließlich ein binäres Muster umwandeln. Wenn Sie also wollen, dass in einem bestimmten Moment - z.B. auf eine Mausklick auf einen Button - die Farbe rot am Bildschirm zur Farbe grün wechselt, können Sie einen Bit Operator verwenden. Nur als Beispiel: der Zustand 0000 00010 soll den Zustand rot kennzeichnen. Sie verwenden jetzt einen Bitoperator der ihnen den zweiten Zustand von rechts (1) in den Zustand Null versetzten soll und den Zustand von der ersten Zahl von rechts von Null auf Eins setzen, dann kommt heraus: 0000 0001. Dies soll z.B. die Farbe grün darstellen. So können Sie rumschalten und verändern wie Sie wollen. Allerdings gibt es in Objective-C und Xcode auch andere, einfachere Möglichkeiten auf Farbwerte von Bildschirmen zuzugreifen, so dass Sie diese Bitoperatoren nicht unbedingt benötigen werden, wenngleich sie doch oft sehr elegante Lösungen von Programmierproblemen darstellen.
Greifen Sie zu Beginn nur darauf zurück, wenn Sie das auch für Ihre Programmierarbeit dringend brauchen oder wenn Sie irgendwo einen Quelltext aufschnappen und ihn verstehen wollen.
weiter ---- Objective-C Index ---- Startseite----zurück
EINSTIEG
KAPITEL 1: SCHRITT FÜR SCHRITT ZUM ERSTEN PROGRAMM
KAPITEL 2: OBJEKTE, KLASSEN, INSTANZEN UND METHODEN
KAPITEL 3: DIE VERSCHIEDENEN DATENTYPEN
KAPITEL 4: DIE PROGRAMMSCHLEIFEN
KAPITEL 5: ENTSCHEIDE DICH, ENTWEDER ODER....
KAPITEL 6: UND NOCHMALS KLASSEN
KAPITEL 7: VERERBUNG
KAPITEL 8: POLYMORPHISMUS, DYNASCHISCHE TYPISIERUNG UND DYNAMISCHES BINDEN
KAPITEL 9: NOCH MEHR DATENTYPEN UND VARIABLEN
KAPITEL 10: CATEGORIES, POSING AND PROTOCOL
KAPITEL 11: DER PRÄPROZESSOR