Primitiver Datentyp: Unterschied zwischen den Versionen

Aus FLBK-Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
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

Version vom 3. April 2025, 12:25 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