Primitive Datentypen sind in Java aus Performancegründen nicht als Klassen realisiert. Primitive Datentypen verfügen somit auch nicht über Methoden, die aufgerufen werden können. Es existiert aber in der Klassen-Bibliothek des JRE für jeden primitiven Datentypen eine Wrapper-Klasse, die einige Methoden zum Umgang mit diesen Objekten zur Verfügung stellt. Die folgende Tabelle listet die primitiven Objekttypen, die Java bereithält, auf (openbook.galileocomputing.de/javainsel):
Die numerischen Datentypen byte, short, int, long, float und double sind vorzeichenbehaftet. Negative Werte sind also darstellbar.
In der Programmierung werden Variabelen verwendet, um Daten abzulegen. Eine Variable ist ein reservierter Speicherbereich und belegt – abhängig vom Datentyp– eine feste Anzahl von Bytes.
Alle primitiven Datentypen haben eine festgesetzte Länge, die sich unter keinen Umständen ändert. Z.B. der Datentyp char ist 16 Bit lang. Es ist nicht möglich einer Variable einen Wert zuzuweisen, der außerhalb des Wertebereichs seines Datentyps liegt. Probleme gibt es, wenn wir einem Byte zum Beispiel den Wert 240 zuweisen wollen, denn 240 liegt außerhalb des Wertebereichs, der von –128 bis 127 reicht (openbook.galileocomputing.de/javainsel).
Mit Variablen lassen sich Daten speichern, die vom Programm gelesen und geschrieben werden können. Um Variablen zu nutzen, müssen sie deklariert werden. Dies gilt für lokale und Instanzvariablen. Die Schreibweise einer Variablendeklaration ist immer die gleiche: Hinter dem Datentypennamen folgt der Name der Variablen. Sie ist eine Anweisung und wird daher mit einem Semikolon abgeschlossen. Immer dann, wenn der Variablentyp der gleiche ist, lässt sich die Deklaration verkürzen: Variablen werden mit Komma getrennt.
Bei der Variablen Deklaration ist darauf zu achten, dass der Datentyp so gewählt wird, dass ausreichend Speicher reserviert wird, um die möglichen Werte abbilden zu können. Andererseits sollten keine Ressourcen verschwendet werden, indem man einen unnötig großen Speicherbereich blockiert.
public class Termin
{
// Deklarationen von Instanzvariablen mit primitiven und komplexen Datentypen
String datum;
Kunde kunde;
Mitarbeiter mitarbeiter;
double rechnungsbetrag, anzahl;
// Deklarationen von lokalen Variablen als Eingabeparameter mit primitiven und komplexen Datentypen
public Termin(Kunde kunde, Mitarbeiter mitarbeiter,String datum, double rechnungsbetrag){
this.kunde=kunde;
this.mitarbeiter=mitarbeiter;
this.datum=datum;
this.rechnungsbetrag = rechnungsbetrag;
}
....
}
Wird eine Variable deklariert, werden ihr je nach Datentyp folgende Werte automatisch als initiale Werte zugewiesen (docs.oracle.com/javase/tutorial/):
Sollen andere Startwerte gelten, müssen diese im Konstruktor einer Klasse oder in der Variablendeklaration definiert werden.
Im folgenden Beispiel wird die Variable anzahl vom Typ double initial auf 1 gesetzt. Diese Zuweisung erfolgt bereits während der Deklaration. Im Konstruktor wird die Instanzvariable rechnungsbetrag durch einen gleichnamigen Eingabeparameter initialisiert. Ohne explizite Initialisierung würden die Werte für anzahl und rechnungsbetrag auf 0.0 gesetzt.
public class Termin
{
// Deklarationen von Instanzvariablen mit primitiven und komplexen Datentypen
String datum;
Kunde kunde;
Mitarbeiter mitarbeiter;
double rechnungsbetrag;
double anzahl =1;
// Deklarationen von lokalen Variablen als Eingabeparameter mit primitiven und komplexen Datentypen
public Termin(Kunde kunde, Mitarbeiter mitarbeiter,String datum, double rechnungsbetrag){
this.kunde=kunde;
this.mitarbeiter=mitarbeiter;
this.datum=datum;
this.rechnungsbetrag = rechnungsbetrag;
}
....
}