Variable

Aus Wiki Herr Kimmig
Wechseln zu: Navigation, Suche


Begriff

Eine Variable ist eine Stelle im Arbeitsspeicher an welcher man einen Wert ablegen und später wieder abrufen kann.

primitive Datentypen

Da ein Computer bekanntermaßen nur mit den Werten 0 und 1 umgehen kann muss zusätzlich noch festgelegt werden, wie ein Variablenwert interpretiert werden soll. Hierfür haben wir als Programmierer verschiedene primitive Datentypen zur Auswahl, die zum einen angeben, wie die Daten interpretiert werden, zum anderen aber auch, welche Werte (bzw. welcher Wertebereich) erlaubt ist:

Datentyp Java Interpretation der Werte Wertebereich
int ganze Zahlen -2147483648 bis 2147483647
boolean Wahrheitswerte true oder false
float Fließkommazahlen bis , jeweils im positiven und negativen Bereich, zusätzlich noch 0
double Fließkommazahlen bis , jeweils im positiven und negativen Bereich, zusätzlich noch 0
String Zeichenketten irgendein Text in doppelten Anführungszeichen (z.B. "Hallo Welt!")

Diese (und noch ein paar weitere) primitive Datentypen können wir direkt eingeben, anders als die zusammengesetzten Datentypen.

Anmerkung: genauer betrachtet ist ein String auch kein primitiver Datentyp mehr, wir können diesen aber vorerst so behandeln!

Benutzen von Variablen

Variablen anlegen

Um eine Variable nutzen zu können müssen wir diese zuerst anlegen. Hierfür müssen wir zum einen den Datentyp angeben, zum anderen müssen wir dieser Variablen auch einen eindeutigen Namen geben:

int Nummer;

Hier würden wir eine Variable mit dem Namen Nummer vom Typ int anlegen.

Zugriff auf Variablen

Wollen wir den Wert einer Variablen abrufen, so müssen wir im weiteren Quelltext lediglich deren Variablenname schreiben. Den Datentyp müssen wir nicht mehr schreiben, denn dieser ist dem Programm intern schon bekannt.

Speichern von Werten in Variablen

Anders als vielleicht intuitiv gedacht werden könnte, steht das einfache Gleichzeichen = anders als in der Mathematik nicht für Gleichheit bei einem Vergleich, sondern damit wird einer Variablen ein Wert zugewiesen.

Hierbei ist zu beachten, dass die Zuweisung von rechts nach links gelesen werden muss, d.h. der Wert rechts vom Gleichheitszeichen wird der Variable links vom Gleichheitszeichen zugewiesen. Dabei kann der Wert auf der rechten Seite entweder direkt angegeben werden (bei primitiven Datentypen), es kann dort jedoch auch eine andere Variable stehen, deren Wert übernommen wird. Außerdem können natürlich auch Berechnungen oder Methoden auf der rechten Seite stehen.

int a;
int b;
int c;
a = 5;
b = 4;
c = a + b;

Das Anlegen einer Variablen kann kombiniert werden mit einer direkten Zuweisung:

int a = 5;
int b = 4;
int c = 2 + 3;
int d = a + 6;
int e = a + b;
int f = quadrat(a);

Umwandeln von Werten in andere Datentypen

Wie man sich vorstellen kann, können natürlich auch in einer Fließkomma-Variablen ganze Zahlen gespeichert werden. Anders herum ist das natürlich nicht möglich, aber teilweise z.B. dahingehend gewollt, dass uns nach einer Fließkommaberechnung ledigliglich der ganzzahlige Anteil interessiert.

Ein Beispiel aus der Mathematik: es können Elemente der Fibonacci-Folge mit der Formel von Moivre-Binet berechnet werden. Während der Rechnung muss man mit reellen Zahlen (also Fließkommazahlen) arbeiten, als Endergebnis können jedoch nur ganze Zahlen herauskommen.

Wenn man gezielt so einen Wert in einen anderen Datentyp umwandeln will (und dadurch evtl. einen Genauigkeitsverlust in Kauf nimmt) so kann man dies tun:

float a = 4.5;
int b = (int)a;

Dafür schreibt man vor den entsprechenden Wert in Klammern den Zieldatentyp.

Hinweis: diese Umwandlung funktioniert natürlich nur bei zueinander kompatiblen Datentypen. Beispielsweise lässt sich ein String nicht direkt in eine Zahl umwandeln!