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

keine Bearbeitungszusammenfassung
Markierungen: Mobile Bearbeitung Mobile Web-Bearbeitung
Keine Bearbeitungszusammenfassung
Zeile 70: Zeile 70:


Der am meisten verwendete nichtprimitive Datentyp ist <code>[[#Der Datentyp String|String]]</code>, also Texte beziehungsweise Zeichenketten.
Der am meisten verwendete nichtprimitive Datentyp ist <code>[[#Der Datentyp String|String]]</code>, also Texte beziehungsweise Zeichenketten.
== Casting von Datentypen ==
'''Casting''' ist die Überführung eines Datentyps in einen anderen (z.B. <code>byte</code> zu <code>int</code>). Dies kann ''implizit'' oder ''explizit'' geschehen. Implizit bedeutet, dass Java automatisch eine Überführung vornimmt. Explizit bedeutet, dass der Programmierer die Überführung im Programmtext ''explizit'' einprogrammiert.
Bei einigen Datentypen ist das ''Casten'' einfach, zum Beispiel von <code>short</code> zu <code>int</code>, da beide Typen ganze Zahlen darstellen und alle Zahlen die <code>short</code> speichern kann auch in <code>int</code> enthalten sind. Bei anderen Typen ist die Überführung nicht so klar, wie zum Beispiel bei <code>boolean</code> zu <code>char</code>. Für jeden dieser Fälle ist in Java klar vorgesehen, wie die Überführung stattfindet.
Um ''explizit'' ein Casting durchzuführen schreibt man den Zieldatentyp (in den überführt wird) in runden Klammern vor den Ausgangswert:
<syntaxhighlight lang="java">
byte b = 42;
// implizites casting von byte nach int
int zahl = b;
// explizites casting von int nach short
short grosseZahl = (long) zahl;
// explizites casting von boolean nach byte
byte wahr = (short) true;
</syntaxhighlight>


== Variablen ==
== Variablen ==
Zeile 144: Zeile 128:
i = 100; // i ist überall gültig
i = 100; // i ist überall gültig
b = true; // Fehler! Gültigkeitsbereich von b verletzt
b = true; // Fehler! Gültigkeitsbereich von b verletzt
</syntaxhighlight>
== Casting von Datentypen ==
'''Casting''' ist die Überführung eines Datentyps in einen anderen (z.B. <code>byte</code> zu <code>int</code>). Dies kann ''implizit'' oder ''explizit'' geschehen. Implizit bedeutet, dass Java automatisch eine Überführung vornimmt. Explizit bedeutet, dass der Programmierer die Überführung im Programmtext ''explizit'' einprogrammiert.
Bei einigen Datentypen ist das ''Casten'' einfach, zum Beispiel von <code>short</code> zu <code>int</code>, da beide Typen ganze Zahlen darstellen und alle Zahlen die <code>short</code> speichern kann auch in <code>int</code> enthalten sind. Bei anderen Typen ist die Überführung nicht so klar, wie zum Beispiel bei <code>boolean</code> zu <code>char</code>. Für jeden dieser Fälle ist in Java klar vorgesehen, wie die Überführung stattfindet.
Um ''explizit'' ein Casting durchzuführen schreibt man den Zieldatentyp (in den überführt wird) in runden Klammern vor den Ausgangswert:
<syntaxhighlight lang="java">
byte b = 42;
// implizites casting von byte nach int
int zahl = b;
// explizites casting von int nach short
short grosseZahl = (long) zahl;
// explizites casting von boolean nach byte
byte wahr = (short) true;
</syntaxhighlight>
</syntaxhighlight>


8.581

Bearbeitungen