Suche
suchen

Primitive Datentypen, Variablen und Arrays

In Abhängigkeit davon, welcher Datentyp verwendet wird, werden vorhandene Daten unterschiedlich interpretiert. Folgende Möglichkeiten gibt es, um Werte zu repräsentieren.

Hinweis: Zwar werden hier die Datentypen der Programmiersprache Java verwendet, jedoch sind diese zu großen Teilen mit den Datentypen anderer Programmiersprachen identisch.

Ganzzahlige Datentypen

byte

Dieser Datentyp kann ganze Zahlen von 128\sf -128 bis 127\sf 127 speichern (8  bit)\sf (8 \;\text{bit}).

short

Eine beliebige ganze Zahl von 32.768\sf -32.768 bis 32.767\sf 32.767 passt in ein short (16  bit)\sf (16 \;\text{bit}).

int

Der Standard-Zahlentyp umfasst ganze Zahlen von 2.147.483.648\sf -2.147.483.648 bis 2.147.483.647\sf 2.147.483.647 (32  bit)\sf (32 \;\text{bit}). Für die meisten Berechnungen ist dieser Raum ausreichend, wenn man jedoch beispielsweise die Weltbevölkerung angeben will, oder etwa die Aufrufe des Videos "Gangnam-Style" auf Youtube zählen möchte, reicht der Datentyp Integer nicht aus.

long

Für Spezialfälle gibt es noch das long. Mit 9.223.372.036.854.775.808\sf -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807\sf 9.223.372.036.854.775.807 (64  bit)\sf (64 \;\text{bit}) sollte dieser Wert sogar ausreichen, um die Staatsverschuldung der gesamten westlichen Welt abzuspeichern.

Java verwendet standardmäßig int, daher müssen wir Zahlen, die über den Bereich von int hinausgehen mit einem l oder L markieren, dazu nachher noch ein Beispiel.

Wer mit langen Zahlen arbeitet, kann, wenn er Java 7 oder eine höhere Version verwendet, Unterstriche in Zahlen verwenden: 1000000000=1_000_000_000\sf 1000000000 = 1\_000\_000\_000, das erhöht oftmals die Lesbarkeit.

Datentypen zur Speicherung von Gleitkommazahlen

Für Gleitkommazahlen gilt allgemein, je größer die gespeicherte Zahl, desto ungenauer der Wert.

float

Ein float kann Gleitkommazahlen abspeichern, jedoch hat auch ein float nur begrenzt Speicherplatz, worunter die Genauigkeit leidet (32  bit)\sf (32\;\text{bit}). Da standardmäßig double verwendet wird, müssen float-Zahlen mit einem f oder F markiert werden

double

Für Rechnungen mit Gleitkommazahlen empfehlen wir daher die Verwendung des double Datentyps. Er bietet doppelt so viel Platz wie ein float und ist normalerweise mehr als ausreichend (64  bit)\sf (64\; \text{bit}). Double ist der Standardtyp für Gleitkommazahlen.

Boolsche Werte

boolean

Dieser Datentyp kann lediglich die Werte true (wahr) und false (unwahr) annehmen.

Zeichen

char

Für einzelne Zeichen verwendet man den Typ char. Hier stehen 16  bit\sf 16\;\text{bit} zur Verfügung, das macht 65.536\sf 65.536 Zeichen. Um einen Char zuzuweisen packt man ihn in einfache Anführungszeichen 'S' oder verwendet den Dezimalwert, z.B. 83\sf 83. Weitere Möglichkeiten einen char zuzuweisen sind Hexadezimalwerte wie 0x0053 oder Unicode: \u0053.

Zeichenketten

String

Wenn mit ganze Zeichenketten gearbeitet werden soll, so kann man auf den String-Datentyp zurückgreifen. Eigentlich ist String kein Primitiver Datentyp, jedoch handelt es sich hierbei um eine Ausnahme (Strings sind im Prinzip Arrays, also Listen von Chars). Strings werden in doppelte Anführungszeichen gesetzt: "Das ist ein String!". Außerdem können Strings eine beliebige Länge aufweisen.

Escape Sequenzen

Zeilenumbruch:

\n

Hochkomma:

\'

Doppeltes Hochkomma:

\"

Backslash:

\\

Unicode XXXX (hexadezimal)

\uXXXX

Hinweis zu den primitiven Datentypen

Alle oben aufgelisteten Datentypen mit Ausnahme von String werden klein geschrieben. Es gibt zu jedem dieser Datentypen eine Klasse, welche den selben Namen besitzt aber groß geschrieben wird, welche verschiedene Methoden zur Verfügung stellt (int und char sind Ausnahmen, hier heißt diese Klasse Integer bzw. Character). Diese Klassen werden Wrapper-Klassen genannt.

Der folgende Codeausschnitt weist der Variable eineZahl den Wert 123\sf 123 zu und lässt sie ausgeben.

int eineZahl;
eineZahl = Integer.parseInt("123");
System.out.println(eineZahl);

Wie man also sieht, können diese Klassen nützlich sein.

Reservierte Schlüsselwörter

Einige Wörter, wie z.B. class, int oder public sind fester Bestandteil von Java, es sind reservierte Schlüsselwörter, die nicht als Variablennamen verwendet werden dürfen.

Sichtbarkeit von Variablen:

Variablen sind nur in dem Block sichtbar, in dem sie deklariert wurden:

int j = 0;
for(int i = 0; i < 7; i++) {
}
System.out.println(j); // Einwandfrei
System.out.println(i); // Fehler: i kann nicht gefunden werden

Arrays

int[] zahlen = new int[4];
zahlen[0] = 32;
zahlen[1] = 42;
zahlen[2] = 0;
zahlen[3] = 17;

int[] zahl = {32, 42, 0, 17};

System.out.println("Die dritte Zahl ist: " + zahlen[2]);

Die dritte Zahl ist: 0


Dieses Werk steht unter der freien Lizenz
CC BY-SA 4.0Was bedeutet das?