Code Post Bits

Variablen

Was sind Variablen?

“Ein formalsprachlicher Platzhalter für unterschiedliche Ausdrücke einer logischen Art bestimmter Weise.” Quelle: Wikipedia

Platzhalter klingt doch schon mal gut! Denn man kann sich Variablen ganz gut wie Behälter vorstellen in denen man Werte speichern kann. Wenn man bei der Programmierung Variablen definiert und benutzt sieht das in etwa so aus:

Variable-Type  |  variableName  |  =  |  Variable-Value;
Integer           bankleitzahl     =     1234567;

Wenn Variablen erstellt werden, nehmen diese Speicher in deinem Rechner ein. Klingt logisch, wenn man bedenkt, dass sie selbst Speicher für Werte sind.

“Variable-Type” beschreibt das Definieren der Variable. In einigen Sprachen wird gefordert, dass vorher festgelegt werden muss ob es sich um eine Variable handelt. Das sieht in der Praxis anders aus und ist in diesem Beispiel nur vereinfacht dargestellt. Anstelle von “Variable” setzt man das Keyword des Variablentypes.

“variableName” ist ein selbst gewählter Name, der nur bestimmten Konventionen der Sprache entsprechen muss, ansonsten kannst du diesen Namen selbst wählen. Zu empfehlen ist aber immer ein Name der dir auch nach einem Jahr noch sagt, was du da eigentlich gespeichert hast und auch was du damit machen wolltest.

Man muss vor allem darauf achten, dass anders als bei mathematischen Formeln, die Befüllung, Berechnung und Aktion durch Werte immer auf der rechten Seite des Vergleichoperators geschehen. Das ist eine Regel, die sich nicht ändert.

“Value” ist, was auch immer die Variable speichern soll. Um das besser zu verstehen bediene ich mich an einem Beispiel aus der Mathematik:

x + 5 = 10    | -5
x     =  5

Bei dieser Rechnung wissen wir: die Variable x entspricht 5.

Man könnte sagen, dass die Variable den richtigen Wert “kennt”. Auch wenn wir vorerst nicht wissen, was sich hinter x verbirgt, kann man sich vorstellen, dass x in diesem Fall immer 5 sein muss. Bis man das ändert:

(x + 5) / 3 = 10    | *3
x + 5       = 30    | -5
x           = 25

In der Programmierung funktioniert das so ähnlich.

(1) variableName     = 5;
(2) variableName     = 5 + 5;
(3) variableName + 5 = 10;
(4) variableName2    = variableName + 4;
(5) variableName     = variableName + variableName2;

(1) Hier speichern wir den Wert 5 in die Variable.

(2) Hier wird zuerst 5 + 5 verrechnet und dann der Wert, also 10, in die Variable gespeichert.

(3) Dieses Beispiel funktioniert nicht, da wie weiter oben bereits geschildert, alle Aktionen oder Berechnungen auf der rechten Seite des Vergleichsoperators stattfinden müssen.

(4) Dieses Beispiel zeigt, dass wir unsere bisher genutze Variable “variableName” mit 4 addieren können. Da in “variableName” die 5 gespeichert ist, rechnet das System jetzt 5 + 4. Das ergibt 9 und wird in die neue Variable gespeichert.

(5) Nun ist es auch möglich das Ergebnis 9 in die Variable zu speichern in der bisher die 5 gespeichert wurde. Wieso das geht? Manchmal will man einen Wert absichtlich überschreiben. Beispielsweise wenn die Variable für deinen Gesamtkontostand immer bei 5 bleiben und sich nicht verändern würde, wäre das sicherlich nicht gewünscht. Aber auch um Variablen zu sparen benutzt man diese Taktik. Wenn man für jeden neuen Wert eine Variable anlegt, obwohl dies nicht zwingend nötig ist, verbraucht das Speicher.

Merke

Variablen speichern Werte für die spätere Nutzung. Die Definition einer Variable erfolgt in den meisten Fällen durch den Variablen-Typ, oder durch automatisches erkennen durch die Sprache. Die Befüllung mit einem Wert erfolgt auf der rechten Seite des Operanten “=”, während links die zu befüllende Variable steht.

Variablen-Typen

Da Variablen-Typen keine einheitliche Definition für jede Sprache vorweisen, beziehen sich die folgenden Codebeispiele am Ende jedes Types auf die Sprache C#.

Es gibt verschiedene Variablen-Typen, damit das System später weiß um was es sich bei dem Wert handelt. Das soll Fehler vermeiden und gleichzeitig verbieten, dass man andere Typen verwendet als man ursprünglich geplant hatte (was auch wiederum zu Fehlern führen kann).

String

Für Text gedacht. Kann aus nur einem Zeichen oder mehreren Sätzen bestehen. Zahlen sind erlaubt.

Beispiele:

"A"
"Hello World!"
"Mein Name ist Martin Musterfrau.
Ich bin 45 Jahre alt.
Ich bin Anwendungsentwickler*in."

C#-Beispiel:

string newString = "Hello world!";

Char

Für ein Zeichen/Charakter gedacht.

Beispiele:

"A"
"3"
"$"

C#-Beispiele:

char newChar = 'A';

Integer

Für Ganzzahlen gedacht.

Beispiele:

1337
-42
0

C#-Beispiele:

int newInt = 5;

Boolean

Für Zustände gedacht. Es gibt nur zwei Zustände.

Beispiele:

True
False

C#-Beispiel:

bool newBool = true;

Float

Für Gleitkommazahlen bzw. Fließkommazahlen gedacht.

7 Zeichen lang – 32 bit

Beispiele:

13.37
-4.2
4.32e10

C#-Beispiel:

float newFloat = 55F;

Das F muss in C# gesetzt werden, da sonst von einem Double ausgegangen wird, was wiederum zu Fehlern führen würde.

Double

Für Gleitkommazahlen bzw. Fließkommazahlen gedacht. Doppelte Genauigkeit im Vergleich zu Float.

Bildliche Darstellung eines Double, die zur Verfügung stehenden 64 Bit werden aufgteilt in 1 Bit für Sign, 11 Bit für den Exponent und 52 Bit für die Fraction
Quelle: Von Codekaizen – Eigenes Werk, GFDL, Wikipedia

Jede Gleitkommazahl wird unter C# als Double angesehen solang nicht anders definiert.

15 bis 16 Zeichen lang – 64 bit

Beispiele:

13.37
-4.2
4.32e10

C#-Beispiel:

double newDouble = 2323.4545D;

Das “D” ist hier nur optional, und dient lediglich der Absicherung.

Decimal

Viele Programmiersprachen besitzen Decimal nicht als Variablen-Typ, C# schon, weshalb es hier auch mit aufgenommen wird.

Für Gleitkommazahlen bzw. Fließkommazahlen gedacht.

28 bis 29 Zeichen lang – 128 bit

Beispiele:

13.37
-4.2
4.32e10

C#-Beispiel:

decimal newDecimal = 1234.567809M;

Das M muss gesetzt werden, da sonst von einem Double ausgegangen wird, was wiederum zu Fehlern führen würde.