„Da bin ich wieder. Ich habe etwas vergessen, das ich dir erklären wollte. Ich werde dir jetzt etwas über Variablen und Speicheradressierung erzählen. Wir werden nicht zu tief einsteigen, aber es lohnt sich, wenn du dir zumindest etwas davon merkst.“

„Ich finde es gut, wie ihr an die Lektionen herangeht: Wenn man etwas versteht – super. Wenn man nichts verstanden hat – auch okay.“

„Liebe lässt sich nicht erzwingen. Das ist offensichtlich. Ist das auf eurem Planeten anders?“

„Ja. Bei uns ist es anders. Wenn man Lust hat, dann lernt man; wenn man keine Lust hat, dann lernt man auch, aber gegen seinen Willen.“

„Was für eine veraltete Lernmethode! So verschwendet man viel Energie und Zeit und bekommt nur schlechte Ergebnisse.“

„Das stimmt schon. Aber lass uns nicht über so etwas Trauriges reden.“

„Okay. Denk mal an Excel. Excel kennt jeder. Ein Excel-Arbeitsblatt besteht aus Zellen. Jede Zelle hat ihren eigenen eindeutigen Bezeichner (A1, A2, … B1, B2). Wenn du den Bezeichner einer Zelle kennst, kannst du jederzeit einen Wert hineinschreiben oder den enthaltenen Wert abrufen. Computerspeicher wird auf sehr ähnliche Art organisiert.“

image-ru-01-25

„Soweit kann ich dir folgen.“

„Wenn das Programm ausgeführt wird, werden das Programm und die Programmdaten im Arbeitsspeicher abgelegt. Der ganze Computerspeicher ist in kleine Zellen aufgeteilt, die Bytes. Jede Zelle hat einen eindeutigen Bezeichner bzw. eine Nummer, die dazu gehört: 0, 1, 2, 3, … (die Nummern beginnen bei 0). Wenn du die Nummer einer Zelle kennst, kannst du darin Daten speichern. Oder Daten daraus abrufen. In manchen Zellen wird der Programmcode gespeichert, d. h. der Befehlssatz für den Prozessor. In anderen werden die vom Programm benutzten Daten gespeichert. Die Nummer einer Zelle wird ihre Adresse genannt.“

„Der Professor hat mir schon vom Prozessor und Befehlen erzählt, aber nicht im Detail.“

„Der Prozessor weiß, wie man Befehle ausführt, die in den Speicher geladen wurden. Fast alle Prozessorbefehle tun so etwas wie ‚hol Daten aus bestimmten Zellen, mach etwas mit ihnen, schick das Ergebnis an andere Zellen‘. Wir kombinieren Hunderte einfacher Befehle, um komplexe und nützliche Befehle zu erzeugen.“

„Aber wozu brauche ich das alles?“

„Wenn eine Variable im Code deklariert wird, dann wird ihr ein bisschen Speicher zugewiesen, der noch nicht benutzt wird. Dabei handelt es sich normalerweise um einige Bytes. Wenn du eine Variable deklarierst, musst du den Typ der Daten angeben, den das Programm darin speichern soll: Zahlen, Text oder andere Daten. Außerdem bekommt jede Variable aus praktischen Gründen einen eindeutigen Namen.“

„Das bedeutet also, dass eine Variable gleichzeitig ein Name, ein Typ, ein Speicherbestandteil und ein Wert ist?“

„Sie ist all das in einem. Schau dir ein paar Beispiele an:“

Code Erläuterung
1
String s;
In dieser Zeile wird eine Variable namens s erstellt. Wir deklarieren sie mit dem Typ String, denn wir werden sie zum Speichern von Text benutzen.
Innerhalb der gleichen Funktion oder Klasse können wir keine weitere Variable mit dem gleichen Namen deklarieren.
2
String s2 = "Ich bin Diego";
In dieser Zeile wird eine String-Variable namens s2 deklariert und gleichzeitig wird ihr der Wert „Ich bin Diego“ zugewiesen.
3
int a;
Hier erstellen wir eine Variable namens a. Ihr Datentyp entspricht dem, was wir darin speichern möchten. Der Datentyp int steht kurz für integer (ganze Zahl).
4
int b = 4;
Wir erstellen eine Variable namens b. Ihr Datentyp (int) ist dazu bestimmt, ganze Zahlen zu speichern. Gleichzeitig wird der Variablen der Wert 4 zugewiesen.

„Hier ein paar Aufgaben von Diego. Du solltest sie nach und nach bearbeiten.“

undefined
1
Aufgabe
Java Syntax, Level 1, Lektion 3
Gesperrt
Hiermit deklarieren wir feierlich folgende Variablen …
In Java müssen Variablen deklariert werden. Das bedeutet, dass Speicherplatz für einen ganz bestimmten Variablentyp reserviert wird. Erst wenn das erledigt ist, können wir auch einen Wert zuweisen. Das Schöne daran ist, dass wir dies alles in einer Zeile abhandeln können. Im Rahmen dieser Aufgabe musst du mehrere Variablen deklarieren und ihnen sofort Werte zuweisen.
undefined
1
Aufgabe
Java Syntax, Level 1, Lektion 3
Gesperrt
Eine Variable auf deinem Bildschirm
Ein Java-Programmieranfänger lernt zuerst das Deklarieren (Variablen), Zuweisen (Werte zu Variablen) und Ausgeben (Variablen und Werte). Im Rahmen dieser Aufgabe werden wir diese drei Dinge üben. Erstelle eine String-Variable, weise ihr einen Wert zu und gib sie anschließend aus.
undefined
1
Aufgabe
Java Syntax, Level 1, Lektion 3
Gesperrt
Eine Variable ist nicht genug
Wenn man programmieren lernt, hat man manchmal das Gefühl, dass sich bestimmte Arbeiten unnötig wiederholen. Aber das ist eine Täuschung: Können bedeutet Wiederholung (und Variation!) und lässt sich nicht anders erreichen. Also Schluss mit dem Gejammer. Stattdessen wollen wir noch einmal Variablen deklarieren. Diesmal drei Stück, denen wir dann auch Werte zuweisen.
undefined
2
Aufgabe
Java Syntax, Level 1, Lektion 3
Gesperrt
Das Quadrat einer Zahl ausgeben
Der erste Eindruck ist nur selten der beste, aber er bleibt mit Sicherheit ein Leben lang im Gedächtnis. Wir sprechen vom Programmieren, falls du das nicht gemerkt hast. Im Rahmen dieser Aufgabe wollen wir versuchen, das Quadrat einer Zahl zu berechnen, es auf dem Bildschirm auszugeben und außerdem die Möglichkeit zu nutzen, Daten von der Tastatur einzulesen (der Benutzer soll die Zahl eingeben, während das Programm läuft).