Eine Variable ist Zeiger zu einer Speicherstelle im Computer. Man kann sich eine Variable als Platzhalter vorstellen, als eine Schublade, in der Daten zwischen gelagert werden. Computer verarbeiten immer nur eine Anweisung pro Zeit; mit Hilfe von Variablen können wir also Informationen an einem Schritt im Programm speichern, und an einem späteren wieder benutzen.
Eine Variable hat
Jede Variable hat einen bestimmten Typ, den wir vor der Benutzung explizit festlegen müssen. Dieser ist unveränderbar und bestimmt darüber, welche Daten wir
in der Variable speichern können.
Wir werden am häufigsten int
, float
und boolean
verwenden. Alle hier genannten Typen sind sogenannte primitive Datentypen.
Später werden wir noch andere Datentypen kennen lernen.
In Processing wird eine Variable definiert, in dem zunächst der Typ, dann der Name und schließlich der Anfangswert angegeben werden.
byte i = -14; // byte: Ganze Zahlen von -128 bis 127 int count = 0; // int: Ganze Zahlen von -2.147.483.648 bis 2.147.483.647 float x = 0.4; // float: Gleitkommazahlen boolean niceWeather = true; // boolean: wahr (true) oder falsch (false) char letter = 'a'; // char: Ein Zeichen
Nachdem wir eine Variable deklariert (also Typ und Name festgelegt) haben, können wir die Variable im Programm beliebig oft verwenden und auch ändern.
Hierzu muss man nur noch den Namen angeben, zum Beispiel:
int x = 0; line(x, 100, x, 200); x = 50; line(x, 100, x, 200);
Die Änderung einer Variable geschieht über eine Zuweisung: variable = neuer Wert, z.B. x = 20;
Dabei muss der neue Wert immer vom gleichen Typ wie die Variable sein.
Computer wurden ursprünglich dafür erfunden, um uns Menschen Rechenarbeit abzunehmen (daher auch "Rechner"). Auch heute sind Berechnungen die grundlegende und in der Programmierung eine der wichtigsten Aufgaben. Um arithmetische Aufgaben zu berechnen, verwenden wir Ausdrücke.
int a = 3; // a wird als int definiert, und der Anfangswert 3 zugewiesen int b = 5; // b wird der Wert 5 zugewiesen int c = a + b; // c ist nach dieser Anweisung 8 a = b * 2; // a ist hiernach 10 c = a + b; // c ist hiernach 15
Ausdrücke können auch direkt in Anweisungen eingesetzt werden:
int a = 100; int b = -20; line(a * 2, 50, a + b, a);
Um den Programmfluß zu steuern, sind Bedingungen notwendig. Eine Prüfung entscheidet, ob eine Bedingung erfüllt ist und bestimmte
Anweisungen ausgeführt werden sollen, oder nicht. Die Bedingung kann entweder wahr oder falsch (true
oder false
) sein.
if (3 > 5) { // Wenn 3 größer als 5 ist, line(10, 10, 100, 100); // dann zeichne die Linie. }
Mit Hilfe dieser if
-Abfrage prüfen wir also bestimmte Bedingungen. Die Anweisungen innerhalb der geschweiften Klammern
werden abhängig von der Prüfung ausgeführt.
Sollen im Falle, dass die Bedingung falsch ist andere Anweisungen ausgeführt werden, so können wir else
verwenden:
int x = 10; x = x + 5; if (x > 12) { // Wenn x größer als 12 ist, ellipse(100, 100, 50, 50); // dann zeichne eine Ellipse } else { // ansonsten (also wenn x kleiner oder gleich 12 ist) rect(100, 100, 150, 150); // zeichne ein Rechteck. }
Im Folgenden die relationalen Operatoren:
< (kleiner als)
> (größer als)
<= (kleiner gleich)
>= (größer gleich)
== (gleich), Vorsicht: Hier müssen zwei Gleichheitszeichen stehen, nicht nur eins (denn das wird bereits für die Zuweisung verwendet)
!= (ungleich)
Processing definiert einige spezielle Variablen, die wir direkt verwenden können, ohne sie selbst deklarieren zu müssen. Dadurch hilft Processing uns einige häufig wiederkehrende Aufgaben zu vereinfachen.
mouseX
- Die horizontale Position des MauszeigersmouseY
- Die vertikale Position des Mauszeigersweight
- Die Weite des Zeichenbereichsheight
- Die Höhe des ZeichenbereichsmousePressed
- Eine boolean
-Variable, die den Wert true
hält, wenn die Mousetaste gedrückt ist, und
false
, wenn sie nicht gedrückt ist
Um eine Variable fortlaufend zu verändern, muss diese Zuweisung in der draw
-Funktion stehen. Die Deklaration
der Variable aber muss außerhalb von setup
und draw
stehen.
Wie können einer Variable auch einen Ausdruck zuweisen, in der der Wert der Variable selbst verwendet wird
(wie im Summenbeispiel aus der Vorlesung: sum = sum + 3
)
int y = 0; void setup() { size(200, 200); } void draw() { line(0, y, width, y); y = y + 1; }
Der obige Code ist die Lösung für Aufgabe B6.