Lernpfad:Objektorientierte Programmierung mit Java/Datentypen und Variablen: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Zeile 46: Zeile 46:


== Nichtprimitive Datentypen ==
== Nichtprimitive Datentypen ==
Neben den primitiven Datentypen gibt es in Java noch andere Datentypen, die nicht fest in der Programmiersprache integriert sind - also nicht primitiv sind. Jede {{Pfad|Klassen und Objekte|Klasse}} ist ein solcher Datentyp. Beim erstellen von Variablen werden sie genauso verwendet wie die primitiven Typen. Allerdings haben sie einige Besonderheiten, die in den Schritten {{Pfad|Objekte erstellen}} und {{Pfad|Referenzen}} genauer vorgestellt werden.  
Neben den primitiven Datentypen gibt es in Java noch andere Datentypen, die nicht fest in der Programmiersprache integriert sind - also ''nicht primitiv'' sind. Jede {{Pfad|Klassen und Objekte|Klasse}} ist ein solcher Datentyp. Beim erstellen von Variablen werden sie genauso verwendet wie die primitiven Typen. Allerdings haben sie einige Besonderheiten, die in den Schritten {{Pfad|Objekte erstellen}} und {{Pfad|Referenzen}} genauer vorgestellt werden.  


Der am meisten verwendete nichtprimitive Datentyp ist <code>String</code>, also Texte beziehungsweise Zeichenketten.
Der am meisten verwendete nichtprimitive Datentyp ist <code>String</code>, also Texte beziehungsweise Zeichenketten.

Version vom 1. November 2018, 15:22 Uhr

Primitive Datentypen

Primitive Datentypen sind fest in der Programmiersprache verankerte, elementare Datentypen, die Zahlen, einzelne Zeichen und logische Werte repräsentieren.

Quotes.png

In dem Ausdruck primitiver Datentyp bedeutet das Wort primitiv "eine elementare Komponente, die verwendet wird, um andere, größere Teile" zu erstellen. http://www.gailer-net.de/tutorials/java/Notes/chap08/ch08_4.html

Die primitiven Datentypen, ihr Speicherbedarf und ihr typischer Wertebereich sind in der folgenden Tabelle aufgeführt.

Typname Größe[1] Wertebereich Beschreibung
boolean undefiniert[2] true / false Wahrheitswert, Boolescher Typ
char 16 bit 0 ... 65.535 (z. B. 'A') Unicode-Zeichen (UTF-16)
byte 8 bit -128 ... 127 Zweierkomplement-Wert
short 16 bit -32.768 ... 32.767 Zweierkomplement-Wert
int 32 bit -2.147.483.648 ... 2.147.483.647 Zweierkomplement-Wert
long 64 bit -263 bis 263-1, ab Java 8 auch 0 bis 264 -1[3] Zweierkomplement-Wert
float 32 bit +/-1,4E-45 ... +/-3,4E+38 32-bit IEEE 754, es wird empfohlen, diesen Wert nicht für Programme zu verwenden, die sehr genau rechnen müssen.
double 64 bit +/-4,9E-324 ... +/-1,7E+308 64-bit IEEE 754, doppelte Genauigkeit

Die Tabell ist eine angepasste Version der Taballe von https://de.wikibooks.org/wiki/Java_Standard:_Primitive_Datentypen, welche unter der Lizenz Creative Commons Namensnennung – Weitergabe unter gleichen Bedingungen bereitgestellt wird.

Die Verwendung der einzelnen Datentypen wird im Wikibook Java Standard vorgestellt.

Nichtprimitive Datentypen

Neben den primitiven Datentypen gibt es in Java noch andere Datentypen, die nicht fest in der Programmiersprache integriert sind - also nicht primitiv sind. Jede Klasse ist ein solcher Datentyp. Beim erstellen von Variablen werden sie genauso verwendet wie die primitiven Typen. Allerdings haben sie einige Besonderheiten, die in den Schritten Objekte erstellen und Referenzen genauer vorgestellt werden.

Der am meisten verwendete nichtprimitive Datentyp ist String, also Texte beziehungsweise Zeichenketten.

Variablen

Variablen sind temporäre Speicher für Informationen eines Datentyps.

Datentyp Bezeichner; int zahlVariable;
boolean wahrheit;
double x;
String einText;
MyClass referenz;
Datentyp Bezeichner = Initialwert; int zahl = 5;

Der Datentypen String

Zeichenketten haben in Java eine Sonderstellung. Texte werden durch doppelte Anführungszeichen gekennzeichnet:

String text = "Hallo, Welt!";

Diese Art einen Text zu erzeugen ist allerdings nur eine Kurzform für das Erstellen einer neuen Objektinstanz der Klasse String. Obiger Quelltext ist dann gleichbedeutend mit

String text = new String("Hallo, Welt!");

Da eine Zeichenkette also ein Objekt ist, besitzt jedes Textobjekt auch Methoden, die auf ihm aufgerufen werden können. Folgende Zeilen sind zum Beispiel korrekter Jacacode:

String text = new String("Hallo, Welt!");
text.toLowerCase(); // hallo, welt!
text.toUpperCase(); // HALLO, WELT!

Die komplette Übersicht der Methoden der Klasse String kann in der Java API Dokumentation nachgelesen werden: