Script zum Kurs Generative Gestaltung Versionsverlauf: 15.11.2014

Werbung
Diana Lange
Grundlagen der Programmierung mit Processing
4 Operatoren
Script zum Kurs Generative Gestaltung
Versionsverlauf:
15.11.2014 - Prototyp
17.11.2014 - Allg. Ergänzungen
19.11.2014 - Allg. Ergänzungen
4 OP ERATO REN
Operatoren sind Zeichen mit einer bestimmten Bedeutung. Mit Operatoren können beispielsweise
Variablen (Konstanten) mit anderen Variablen verknüpft werden, so dass diese einen neuen Ausdruck
bilden. In diesem Kapitel werden alle in Processing (Java) gültigen Operatoren vorgestellt. Einige von
ihnen wurden schon in den vorherigen Kapiteln verwendet.
4.1 Rechenoperatoren
Rechenoperatoren werden auch Arithmetische Operatoren genannt. Sie werden dazu verwendet um
Rechenterme zu bilden. Folgende Operatoren sind für Datentypen gültig, die Zahlenwerte beinhalten
(z. B. int, float):
Zeichen
Bedeutung
+
Plus / Addition
-
Minus / Subtraktion
*
Mal / Multiplikation
/
Geteilt / Division
Gerechnet wird nach den regulären Rechenregeln: Punkt- vor Strichrechnung.
Beispiel
float zahl1 = 3.5;
float zahl2 = -5.5;
zahl 1 = zahl2 / 10;
zahl 2 = zahl1 * 10;
zahl2 = zahl1 - 4* zahl1;
zahl1 = zahl1 * (zahl1 + 5);
// Klammern können beliebig gesetzt werden
Inkrementierungs- und Dekrementierungsoperatoren
Häufig müssen Zahlenwerte um eins erhöht oder verringert werden. Zu diesem Zweck gibt es für
beides eine verkürzte Schreibweise:
Zeichen
1
Bedeutung
Diana Lange
Grundlagen der Programmierung mit Processing
4 Operatoren
variable++
Plus / Addition von variable mit 1 (Anweisung ausführen > Addition)
variable--
Minus / Subtraktion von variable mit 1 (Anweisung ausführen > Subtraktion)
++variable
Plus / Addition von variable mit 1 (Addition > Anweisung ausführen)
--variable
Minus / Subtraktion von variable mit 1 (Subtraktion > Anweisung ausführen)
Die Inkrementierungs- und Dekrementierungsoperatoren können vor oder nach der Variable
eingefügt werden. Wenn der Operator als Postfix notiert wird, so wird zu erst die Anweisung
ausgeführt, in der die Variable inkrementiert wurde, und erst im Anschluss wird die Variable
verändert. Anders ist das bei einer Notation mit dem jeweiligen Präfix. Hier wird erst der
Variablenwert verändert und dann wird die Anweisung ausgeführt.
int i = 5;
println(i++);
// Konsolenausgabe ist 5
int i = 5;
println(++i);
// Konsolenausgabe ist 6
println(i);
// Konsolenausgabe ist 6
println(i);
// Konsolenausgabe ist 6
In dem linken Beispiel ist i mit der Postfix-Variante versehen. Es wird also erst die Anweisung
println() mit dem aktuellen Wert von i ausgeführt und erst dann wird i um eins erhöht. Auch
wenn
die
obigen
Beispiele
gültige
Notationen
sind,
sollte
es
vermieden
werden,
die
Inkrementierungs- und Dekrementierungsoperatoren direkt in Methoden oder anderen Anweisungen
anzuwenden.
Besser und eindeutiger Notation zu obigen Beispiel:
int i = 5;
i++;
println (i);
// Konsolenausgabe ist 6
Modulooperator
Der Moduloperator gehört auch zu den Rechenoperatoren. Das Modulo dividiert zwei ganzen Zahlen
(int) miteinander und berechnet den ganzzahligen Rest.
Zeichen
Bedeutung
%
Modulo / Berechnung des Restes
Beispiel
int zahl1 = 5;
int zahl2 = 3;
2
Diana Lange
Grundlagen der Programmierung mit Processing
4 Operatoren
int zahl3 = zahl1 % zahl2; // gleich 2
// rechnet 5 durch 3 = 1 mit Rest 2
Notationsvarianten
TO DO
4.2 Zuweisungsoperator
Mit dem Zuweisungsoperator "=" wird einer Variable ein Wert zugewiesen.
Zeichen
Bedeutung
=
Wertzuweisung
Links vom Istgleich-Zeichen steht immer die Variable (auch Felder, Listen); rechts steht immer das,
was dieser Variable zugewiesen werden soll.
int i = 0;
float f = 5.1545;
char letter = 'd';
String s = "hallo";
boolean foo = false;
PVector pos = new PVector (10,50);
Bei Berechnung von Termen gilt jeweils, dass zuerst der Term rechts vom Istgleich-Zeichen
ausgeführt wird und das Ergebnis erst dann der Variable zugewiesen wird.
int zahl1 = 1; // zahl1 hat den Wert 1
zahl1 = zahl1 + 4; // zahl1 hat den Wert 5
4.2 Vergleichsoperatoren
Vergleichsoperatoren werden auch Relationale Operatoren genannt. Mit den Vergleichsoperatoren
können zwei Werte / Variablen miteinander verglichen. Das Ergebnis wird immer als wahre oder
falsche Aussage ausgewertet. Diese Aussage kann Variablen vom Datentyp boolean zugewiesen
werden. Für alle Datentypen können folgende zwei Operatoren verwendet werden:
Zeichen
Bedeutung
==
gleich
!=
ungleich
3
Diana Lange
Grundlagen der Programmierung mit Processing
4 Operatoren
Auswertungsschemata
true == false
true != false
true == true
false == false
//
//
//
//
Auswertung:
Auswertung:
Auswertung:
Auswertung:
false
true
true
true
Vergleichsoperatoren werden i.d.R. im Kontext von if-Abfragen und Schleifenbedingungen
verwendet.
boolean bed1 = true;
boolean bed2 = false;
if (bed1 != bed2) {
// Inhalt wird ausgeführt
}
Für den Vergleich von Zahlenwerten (z.B. int-Variablen und float-Variablen) stehen zusätzlich
noch folgende Operatoren zur Verfügung:
Zeichen
Bedeutung
>
größer
>=
größer gleich
<
kleiner
<=
kleiner gleich
int i = 1;
float f = -5.2;
if (i >= f) {
// Inhalt wird ausgeführt
}
4.3 Logische Operatoren
Logische Operatoren dienen der Verknüpfung von Ausdrücken. Dabei können beliebig viele
Wahrheitswerte (boolean) miteinander verbunden werden. Das finale Ergebnis wird auch hier
immer als wahre oder falsche Aussage ausgewertet. Daher werden auch die logischen Operatoren
meist in if-Abfragen und Schleifenbedingungen eingesetzt und die Werte können in booleanVariablen abgelegt werden.
4
Diana Lange
Grundlagen der Programmierung mit Processing
4 Operatoren
Doppelte logische Operatoren
Zeichen
Bedeutung
&&
UND
||
ODER
UND bedeutet, dass beide Bedingungen gleich sein müssen, damit der gesamte Ausdruck wahr wird.
Die Bedingungen sind also entweder beide wahr, oder beide falsch.
ODER bedeutet, das mindestens eine Bedingungen wahr sein muss, damit der gesamte Ausdruck
wahr wird.
boolean bed1 = false;
boolean bed2 = 10 > 5 && 2.3 <= 3; // ergibt true
if (bed1 || bed2) {
// Inhalt wird ausgeführt
}
Einfache logische Operatoren
TO DO
4.4 Ternärere Operatoren
TO DO
4.5 Bitweise Operatoren
TO DO
5
Herunterladen