Skip to main content

Werte, Variablen und Typen

Variablen sind ein wichtiges Konzept im Programmieren. Sie erlauben uns, Werte unter einem bestimmten Namen zu speichern und auf den Wert später wieder zuzugreifen. Wir gehen dabei in 2 Schritten vor.

  1. Deklaration der Variablen
  2. Speichern eines Wertes in der Variablen

Wir werden diese zwei Schritte getrennt diskutieren. Später sehen wir, dass diese auch in einer Anweisung durchgeführt werden können. Bevor wir aber über Variablen sprechen, besprechen wir Werte. Was ist eigentlich ein Wert und wie repräsentieren wir diesen in Java?

Werte

Die einfachsten Bausteine in einer Programmiersprache sind Werte. Etwas salopp ausgedrückt sind Werte Dinge, die im Speicher des Computers repräsentiert sind. Diese können vom Programm verändert werden.

Ein Beispiel eines Wertes ist die Zahl Fünf. In Java wird dieser Wert, wenig überraschend, durch das Zeichen 5 repräsentiert. Im allgemeinen wird jede ganze Zahl in Java einfach durch das entsprechende Zahlensymbol repräsentiert. Bei negativen Zahlen können wir das Minus als Vorzeichen davor setzen. Der Wert minus 1 wird also als Symbol -1 geschrieben. Weitere Beispiele von Zahlenwerten sind die Zahl Drei Komma Fünf, die als Symbol 3.5 geschrieben wird, oder die Zahl minus Null Komma Eins, die als -0.1 geschrieben wird.

Neben Zahlen haben auch Texte in der Programmierung eine grosse Bedeutung. Texte nennt man in Java Strings. Textwerte erzeugt man, indem man den Text in Anführungs- und Schlusszeichen setzt. Den Textwert Hallo Welt! würde man also in Java als "Hallo Welt!" schreiben. Wenn wir nur einen einzigen Buchstaben repräsentieren wollen, also den Wert der zum Beispiel den Buchstaben A repräsentiert, schreiben wir diesen in einfache Anführungs- und Schlusszeichen. Der Wert, der den Buchstaben A repräsentiert würde also in Java als 'A' geschrieben. Wir bezeichnen Werte von einzelnen Zeichen als Character.

Deklaration von Variablen

Um eine Variable zu deklarieren, müssen wir zwei Dinge festlegen:

  1. Den Datentyp (kurz Typ) der Variablen
  2. Den Namen der Variablen

Der Typ der Variablen legt fest, welche Art von Werten in der Variablen gespeichert werden können. Wir können zum Beispiel festlegen, dass eine Variable nur Ganzzahlen, oder nur Texte speichern kann.

Der Variablenname ist ein Name, der idealerweise beschreibt, was der Wert der Variablen repräsentiert. Wir illustrieren dies an einigen Beispielen:

String courseName;
String streetName;
int streetNumber;
int zipCode;

Wir haben hier vier Variablen deklariert. Die Variablen mit dem Namen courseName und streetName sind vom Typ String. Der Typ String steht für einen Text. Diese Variablen können nur Texte speichern. Die Variablen mit dem Namen streetNumber und zipCode hingegen haben den Typ int. Diese können nur Zahlen speichern. Anhand dieser Beispiele können wir das Muster erkennen.

Um eine Variable zu deklarieren schreiben wir zuerst den Typ und dann den Namen der Variable. Diese beiden Elemente sind durch ein oder mehrere Leerzeichen getrennt. Abgeschlossen wird die Deklaration durch ein Semikolon ;.

Oben haben wir die Typen int und String verwendet. Wir erkennen, dass Typen entweder mit einem Klein- oder Grossbuchstaben beginnen können. Wir werden die Systematik später besprechen. Variablennamen beginnen, per Konvention, immer mit einem Kleinbuchstaben. Variablennamen dürfen keine Leerzeichen enthalten, da Java sonst meint, es seien zwei separate Variablen. Wenn ein Name aus mehreren Worten besteht, wird der erste Buchstabe des neuen Wortes grossgeschrieben. Diese Gross-Kleinschreibung ist auch als KamelCase bekannt.

Speichern eines Wertes in der Variablen

Nachdem eine Variable deklariert ist, können wir diese nutzen, um Werte darin zu speichern. Wir verwenden dazu den sogenannten Zuweisungsoperator =. Hier einige Beispiele:

courseName = "Programmieren";
streetName = "Bernoullistrasse";
streetNumber = 1;
zipCode = 4053;

Auch die Zuweisung folgt einem Muster. Zuerst kommt der (vorher deklarierte) Variablenname, gefolgt vom Zuweisungsoperator und dann der zuzuweisende Wert. Wohin etwas gespeichert wird steht also links, und was gespeichert wird steht rechts vom Zuweisungsoperator. Abgeschlossen wird dies, wie fast jede Anweisung in Java, mit einem Semikolon ;.

Anmerkung: Der Zuweisungsoperator sieht fast aus wie das mathematische Gleichheitszeichen, hat jedoch eine ganz andere Bedeutung. Die Anweisung courseName = "Programmieren" besagt, dass wir den Wert auf der rechten Seite ("Programmieren") der Variablen auf der linken Seite zuweisen. Die Anweisung bedeutet aber nicht, dass courseName das Gleiche ist wie "Programmieren". Andere Programmiersprachen verwenden wir für die Zuweisung klarere Symbole wie <- oder :=. Java hat sich aber, wie viele andere Sprachen, für das Gleichheitszeichen entschieden. Sie werden sich mit der Zeit daran gewöhnen.

Gleichzeitiges Deklarieren und Zuweisen

Wenn wir eine neue Variable deklarieren, wollen wir ihr immer unmittelbar einen Wert zuweisen, damit die Variable immer einen definierten Wert hat. Java erlaubt uns diese beiden Schritte in eine Anweisung zu kombinieren:

String courseName = "Programmieren";
String streetName = "Bernoullistrasse";
int streetNumber = 1;
int zipCode = 4053;

Java deklariert als Erstes die Variable (linke Seite) und weist ihr dann den Wert (rechte Seite) zu.

Auf Werte zugreifen

Um auf den in einer Variablen gespeicherten Wert zuzugreifen, schreiben wir einfach den Namen der Variable. Diese wird dann von Java automatisch durch den Wert ersetzt. Die folgende Anweisung gibt zum Beispiel den in der Variablen courseName gespeicherten Wert aus:

System.out.println(courseName); 

Wir können natürlich auch Werte von Variablen einer anderen Variablen zuweisen:

int numberSeven = 7;
int alsoNumberSeven = numberSeven;

In diesem Beispiel haben wir die Variable mit dem Namen numberSeven deklariert, und dieser den Wert 7 zugewiesen. Danach haben wir eine zweite Variable mit dem Namen alsoNumberSeven deklariert und dieser den Wert, der in numberSeven gespeichert war (also 7) zugewiesen.

Der Datentyp double

Neben int und String werden wir an dieser Stelle noch einen weiteren Datentyp einführen, den wir immer wieder brauchen. Es ist der Datentype double. Der Datentyp double wird, genau wie int, dazu verwendet, Zahlen zu speichern. Während int nur Ganzzahlen speichern kann, wird double verwendet um Zahlen mit Kommas (sogenannte Gleitkommazahlen) zu speichern. Wir können also Werte wie 7.1, -29815.9, 3.1415927 oder 1.5e81.5e-8 speichern. Diese letzte Zahl wurde in der wissenschaftlichen Schreibweise geschrieben, die auch von Java so unterstützt wird. 1.5e81.5e-8 entspricht dem Wert 1.51081.5\cdot10^{-8}.

Eine Deklaration (mit direkter Wertzuweisung) sieht, wenig überraschend, wie folgt aus:

double pi = 3.1415927;

Experimente

Experimentieren Sie doch gleich selbst mit den Konzepten:

  • Deklarieren Sie eine Variable vom Typ String und weisen Sie dieser einen Wert zu.
  • Geben Sie den Wert der Variablen aus.
  • Was passiert, wenn Sie einen Wert vom Type String einer Variable vom Typ int zuweisen?
  • Deklarieren Sie eine Gleitkommazahl. Experimentieren Sie mit der wissenschaftlichen Schreibweise.
  • Deklarieren und initialisieren Sie zwei Variablen des selben Typs mit Namen first und second, jeweils mit unterschiedlichen Werten. Weisen Sie den Wert von first der Variablen second zu und ändern Sie danach den Wert der Variablen first. Ändert sich auch der Wert der Variablen second?

Haben Sie Fragen oder Bemerkungen? Schreiben Sie diese doch ins Forum.