var hoehe=2;
hoehe="2 cm";
In einigen Programmiersprachen, wie beispielsweise in Javascript, kann man einer Variablen ohne Fehlermeldung beliebige Typen von Werten zuweisen.
Zum Beispiel ist der folgende Code in Javascript ohne Fehlermeldung problemlos möglich:
var hoehe=2; hoehe="2 cm";
JavaScript
Der folgende Code ist ein Problem. Wieso?
In der ersten Zeile wird der Variablen namens hoehe
der Wert 2 zugewiesen, also eine Zahl.
In der nächsten Zeile wird der gleichen Variable die Zeichenkette 2 cm
zugewiesen.
Auf den ersten Blick erscheint das einfach und praktisch.
Was aber, wenn diese beiden Zeilen nicht direkt hintereinander im Code stehen, sondern beispielsweise 200 Zeilen voneinander entfernt sind? Weiter unten im Programm möchte man etwas mit der Höhe berechnen und schaut oben im Code nach, in welcher Variable der Wert gespeichert war. So könnte man beispielsweise die Höhe halbieren wollen und berechnet
hoehe=hoehe/2;
JavaScript
In diesem Fall wird sich das Javascript-Programm nach dem Starten nicht so verhalten wie gewünscht. Nicht mal eine Fehlermeldung wird ausgegeben!
Ein solcher Fehler ist nur schwer zu finden. Wie kann man es vermeiden, dass in eine Variable, die Zahlen speichern soll, Text geschrieben wird? Das muss besser gehen, aber wie?
In Java muss man beim ersten Erstellen einer Variablen immer auch den Typ einer Variable festlegen.
Um eine Variable namens hoehe
einzuführen, die nur ganze Zahlen speichern darf (auf englisch eine "integer"-Zahl), so geschieht dies durch
int hoehe=2;
Java
int
ist der Typ der Variable und hoehe
der Name.
Versucht man nun, wie im Beispiel mit Javascript, einen Text in dieser Variablen zu speichern, so könnte man wieder schreiben
hoehe="2 cm";
Java
Das gibt schon einen Fehler vor dem Start des Programms!
Einer Variablen, die nur ganze Zahlen speichern soll, darf kein Text zugewiesen werden.
Typ | Beispiel | Bytes | Bits |
---|---|---|---|
byte |
|
1 |
8 |
short |
|
2 |
16 |
int |
|
4 |
32 |
long |
|
8 |
64 |
und erhält schon beim Compilieren, also vor dem Starten des Programms, eine entsprechende Fehlermeldung. In einer Entwicklungsumgebung wie Netbeans wird dieser Fehler schon während des Schreibens im Editor angezeigt. Sehr praktisch!
Typ | Beispiel | Minimal | Maximal | Bytes | Bits |
---|---|---|---|---|---|
byte |
|
-128 |
+127 |
1 |
8 |
short |
|
-32768 |
+32767 |
2 |
16 |
int |
|
-2147483648 |
+2147483647 |
4 |
32 |
long |
|
-9223372036854775808 |
+9223372036854775807 |
8 |
64 |
Typ | Beispiel | Bytes | Bits |
---|---|---|---|
float |
|
4 |
32 |
double |
|
8 |
64 |
Der Unterschied zwischen den beiden Typen liegt in der Genauigkeit, also wie weit zwei benachbarte Zahlen voneinander entfernt sind, und der größten bzw. kleinsten Zahl, die jeweils gespeichert werden kann.
Üblicherweise verwendet man für Kommazahlen den Typ |
Typ | Beispiel | Beschreibung |
---|---|---|
String |
|
Zeichenketten |
boolean |
|
Wahrheitswerte |
char |
|
Einzelnes Unicode-Zeichen (Buchstabe) |