Primitiver Datentyp: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) Die Seite wurde neu angelegt: „= Primitive Datentypen (Java) = == Einführung == 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 O…“ |
Thomas (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
== Einführung == | == Einführung == | ||
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 (siehe [https://openbook.galileocomputing.de/javainsel openbook.galileocomputing.de/javainsel]): | Primitive [[Datentyp|Datentypen]] sind in [[Java]] aus Performancegründen nicht als Klassen realisiert. Primitive [[Datentyp|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 (siehe [https://openbook.galileocomputing.de/javainsel openbook.galileocomputing.de/javainsel]): | ||
{| class="wikitable" | {| class="wikitable" | ||
Zeile 16: | Zeile 16: | ||
| long || Ganze Zahl || 64 || -9223372036854775808 bis 9223372036854775807 | | long || Ganze Zahl || 64 || -9223372036854775808 bis 9223372036854775807 | ||
|- | |- | ||
| float || Gleitkommazahl (einfache Genauigkeit) || 32 || ±3.40282347E+38 | | float || [[Gleitkommazahl]] (einfache Genauigkeit) || 32 || ±3.40282347E+38 | ||
|- | |- | ||
| double || Gleitkommazahl (doppelte Genauigkeit) || 64 || ±1.79769313486231570E+308 | | double || [[Gleitkommazahl]] (doppelte Genauigkeit) || 64 || ±1.79769313486231570E+308 | ||
|- | |- | ||
| char || Unicode-Zeichen || 16 || \u0000 bis \uffff | | char || Unicode-Zeichen || 16 || \u0000 bis \uffff | ||
Zeile 37: | Zeile 37: | ||
=== Beispiel === | === Beispiel === | ||
<syntaxhighlight lang="java" line> | |||
public class Termin { | public class Termin { | ||
// Deklarationen von Instanzvariablen mit primitiven und komplexen Datentypen | // Deklarationen von Instanzvariablen mit primitiven und komplexen Datentypen | ||
Zeile 54: | Zeile 54: | ||
// ... | // ... | ||
} | } | ||
</syntaxhighlight> | |||
== Initialisierung == | == Initialisierung == | ||
Aktuelle Version vom 3. April 2025, 12:26 Uhr
Primitive Datentypen (Java)
Einführung
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 (siehe openbook.galileocomputing.de/javainsel):
Datentyp | Beschreibung | Größe (Bit) | Wertebereich |
---|---|---|---|
byte | Ganze Zahl | 8 | -128 bis 127 |
short | Ganze Zahl | 16 | -32768 bis 32767 |
int | Ganze Zahl | 32 | -2147483648 bis 2147483647 |
long | Ganze Zahl | 64 | -9223372036854775808 bis 9223372036854775807 |
float | Gleitkommazahl (einfache Genauigkeit) | 32 | ±3.40282347E+38 |
double | Gleitkommazahl (doppelte Genauigkeit) | 64 | ±1.79769313486231570E+308 |
char | Unicode-Zeichen | 16 | \u0000 bis \uffff |
boolean | Wahrheitswert | 1 | true oder false |
Die numerischen Datentypen `byte`, `short`, `int`, `long`, `float` und `double` sind vorzeichenbehaftet. Negative Werte sind also darstellbar.
In der Programmierung werden Variablen 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 (siehe openbook.galileocomputing.de/javainsel).
Deklaration
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.
Beispiel
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;
}
// ...
}
Initialisierung
Wird eine Variable deklariert, werden ihr je nach Datentyp folgende Werte automatisch als initiale Werte zugewiesen (siehe docs.oracle.com/javase/tutorial/):
Datentyp | Initialwert |
---|---|
byte, short, int, long | 0 |
float, double | 0.0 |
char | '\u0000' (Nullzeichen) |
boolean | false |