Was sind Variablen?

Variablen in einem Programm können Sie mit Schubladen in einem Schrank vergleichen. Aber was soll in diese Schubladen hineingelegt werden? Ein Programm ist ein Bestandteil der EDV (Elektronische Datenverarbeitung). Es sollen also Daten verarbeitet werden. Und genau diese Daten werden in Schubladen abgelegt.

Stellen Sie sich eine Variable also wie einen Schublade vor, die genau eine Sache enthalten kann. Wenn Sie nun eine Schere in eine Schublade legen möchten, müssen Sie das Objekt, das sich in der Schublade befindet, erst herausnehmen. Was genau Sie in die Schublade legen, bestimmen Sie.

Genauso funktionieren Variablen. Eine Variable enthält Daten, die verändert werden können. Daher kommt der Name "Variable". Genau wie bei einer Schublade können Sie Werte in eine Variable "legen" (speichern). Dabei repräsentiert eine Variable einen Teil des Arbeitsspeichers Ihres Computers.

Was sind Datentypen?

Kehren wir zurück zu unserem Schrank. Nun hat jede Schublade eine bestimmte Größe. Es gibt kleine Schubladen, in die nur Objekte wie Kugelschreiber oder Scheren passen, etwas größere Schubladen für Bücher und Ordner und richtig große Schubladen. Wenn Sie nun versuchen, ein dickes Buch in eine kleine Schublade zu legen, werden Sie scheitern. Es gibt nicht genug Platz. Möchten Sie ein Buch in eine wirklich große Schublade legen, die Platz bietet für einen Fernseher, wird das funktionieren, aber Sie verschwenden sehr viel Platz.

Die gleichen Regeln gelten bei Variablen. Deren Größe wird durch den sogenannten Datentyp festgelegt. Natürlich gibt ein Datentyp nicht an, ob die Größe einer Variable für Fernseher oder Bücher ausreicht, sondern welche Art von Daten gespeichert werden können. Außerdem wird der gültige Wertebereich angegeben.

In unserem Schrank könnte es eine Schublade geben mit dem Datentyp: Bücher mit maximal 500 Seiten. Wir können ein Buch mit 200 Seiten hineinlegen. Ein Buch mit 600 Seiten ist zwar ein Buch, aber es ist zu groß. Wir müssen für unsere Schublade einen anderen Datentyp wählen. Nun werden Ihnen Schubladen bei einem Programm nicht sehr weiterhelfen. Daher wollen wir uns die nun einmal die allgemeinen Datentypen in der Programmierung ansehen.

Datentypen in einer Programmiersprache

Eine Variable muss wissen, wie groß sie eigentlich ist, damit Speicher für sie reserviert werden kann. Noch mal zur Wiederholung: Der Datentyp gibt an, welche Art von Werten (Bücher im Schubladenbeispiel) in welchem Bereich (mit 0 bis 500 Seiten im Schubladen-Beispiel) die Variable enthalten kann.

Im Folgenden werde ich vorerst nicht auf eine spezielle Programmiersprache eingehen, sondern Ihnen zeigen, welche allgemeinen Datentypen es gibt. In verschiedenen Programmiersprachen heißen die Datentypen unterschiedlich, aber das grundlegende Prinzip ist immer gleich. Auch die Größe der Datentypen ist anders  je nach Sprache. Dabei kann man nach verschiedenen Kriterien unterscheiden.

Zuerst einmal wird unterschieden zwischen Zahlen und Datentypen, die keine Zahlen enthalten. Bei Zahlen wird als zweites unterschieden zwischen Ganzzahlen und Kommazahlen. Beide Bereiche können wiederum in unterschiedlich große Typen eingeteilt werden.

Ganzzahl-Datentypen

Stellen wir uns drei Datentypen für Ganzzahlen vor, die wir folgendermaßen nennen:

  1. "Kurz"
  2. "Lang"
  3. "Sehr lang"

Nun definieren wir für jeden Datentyp, welche Zahlen er enthalten darf:

  1. Kurz: - 128 bis +127
  2. Lang: -32.000 bis +32.000
  3. Sehr lang: -50.000.000 bis + 60.000.000

Und schon haben wir drei Datentypen für Ganzzahlen. Wenn Sie in einer Variablen vom Datentyp Lang den Wert 20.000 speichern wollen, haben Sie keine Probleme. Möchten Sie in derselben Variablen jedoch den Wert 600.000 speichern, bekommen Sie einen Überlauf: Die Variable ist nicht groß genug, sie "läuft über" wie ein Fass (engl. Overflow).

Kommazahl-Datentypen

Aber wir möchten vielleicht auch mit Kommazahlen rechnen. Diese können Sie nicht in den obigen Datentypen speichern, denn es handelt sich ja nur um Ganzzahl-Datentypen. Auch für Kommazahlen können wir eigene Datentypen definieren. Als Unterscheidungskriterium kann die Anzahl der Nachkommastellen dienen. Definieren wir uns einmal zwei Datentypen:

  1. "Einige Nachkommastellen": Genauigkeit von 6 Nachkommastellen.
  2. "Viele Nachkommastellen": Genauigkeit von 20 Nachkommastellen.

Text-Datentypen

Zahlen sind nicht alles. Ich möchte Ihnen noch zwei weitere Datentypen vorstellen. Der erste heißt "Text". Sie können in einer Variable vom Typ Text Buchstaben oder allgemeiner Zeichen speichern. Es kann sich auch um Sonderzeichen und Zahlen handeln. Eine Aneinanderreihung von Zeichen nennt man "Zeichenkette". Eine Zeichenkette kann ein Name sein, eine Adresse oder ein ganzer Roman. Sie können auch Zahlen in einer Zeichenkette speichern.

Aber wo liegt dann der Unterschied zu den oben erwähnten Zahlendatentypen? Ganz einfach: Zahlen, die als Text gespeichert werden, werden als ebensolcher behandelt. Man kann mit Texten nicht rechnen. Außerdem werden führende Nullen nicht gestrichen. Eine Postleitzahl dürfte folglich nicht als Zahl gespeichert werden, da bei einer Zahl führende Nullen gestrichen werden. Eine PLZ kann aber mit einer Null beginnen. Und da man mit Postleitzahlen normalerweise nicht rechnet, geht bei einer Speicherung als Text auch dieser Aspekt nicht verloren.

Wahrheitswerte

Es gibt noch einen ganz wichtigen Datentyp: Wahrheitswerte. Eine Variable vom Typ Wahrheitswert kann nur zwei mögliche Werte enthalten: "wahr" oder "falsch". Eine dritte Möglichkeit gibt es nicht. Da ein Computer mit sogenannten binären Werten arbeitet, die als "wahr" und "falsch" oder als "1" und "0" bezeichnet werden, handelt es sich bei Wahrheitswerten um einen ziemlich wichtigen Datentyp.

Deklaration von Variablen

Ein sehr wichtiger Begriff ist die Deklaration. In den meisten Programmiersprachen müssen Variablen deklariert werden. Kehren wir zurück zu unseren Schubladen. Eine Schublade hat drei Dinge:

  • Ein Schild, auf dem der Name der Schublade steht,
  • eine Größe und
  • einen Inhalt.

Legen wir uns eine Schublade mit dem Namen "Mein Lieblingsbuch" an. Wir definieren den Datentyp als "Bücher mit maximal 600 Seiten". Nun ist die Schublade deklariert. Wenn wir dieses Beispiel nun auf Variablen übertragen, handelt es sich bei einer Deklaration um die Bekanntmachung einer Variablen. Dabei muss sie einen Datentyp und einen Namen erhalten.

Initialisierung und Wertzuweisung

Aber noch ist die Schublade leer. Oder es liegt irgendein Quatsch drin. Aber in die Schublade "Mein Lieblingsbuch" soll "Carrie" von Stephen King wandern. Also öffnen wir die Schublade und legen das Buch hinein. Einige Zeit später lesen wir "Momo", das uns besser gefällt. Wir öffnen die Schublade, nehmen "Carrie" heraus und legen "Momo" hinein. Wir haben den Inhalt der Schublade geändert. Denken Sie daran, dass eine Schublade nur ein Objekt gleichzeitig aufnehmen kann.

Das Gleiche gilt wieder für unsere Variablen. Wir speichern einen Wert in einer Variablen. Dies nennt man "Wertzuweisung". Möchten wir einen anderen Wert speichern, erfolgt eine weitere Wertzuweisung. Der alte Wert wird dabei allerdings überschrieben, da eine Variable nur einen Wert gleichzeitig aufnehmen kann. Die erste Wertzuweisung bezeichnet man als "Initialisierung".

Bei einigen Programmiersprachen ist die Variable nach der Deklaration nicht leer, sondern sie enthält irgend etwas als Wert und wir wissen nicht, was es ist. Durch die Initialisierung z.B. mit 0 stellen wir sicher, dass ein definierter Wert in der Variablen steht. Und vor allem wissen, welcher Wert es ist. Initialisierung ist also die erste Wertezuweisung.

Konstanten

Es gibt aber auch Werte, die nicht aus Versehen verändert werden dürfen. Wir legen uns eine Schublade an mit dem Namen Pi und wir legen den Wert 3,1415965 hinein. Dieser Wert darf nicht verändert werden, da die Zahl Pi nun einmal eine Konstante ist.

In einer Programmiersprache dürfen wir eine Variable als "Konstante" definieren. Das bedeutet, dass der Wert nicht mehr variabel ist, sondern dass er nicht mehr verändert werden darf. Wir müssen direkt bei der Deklaration einen Wert zuweisen. Und anschließend darf keine Wertzuweisung mehr erfolgen.

Laden ...
Fehler!