Folien



(letzte Synchronisation der PDF-Präsentation: 02.03.2017)

Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload PDF-Präsentation

Übungen

Alle Übungen finden Sie in der Materialsammlung (dort auch alle zusätzlichen Dateien wie Bilder, Klassendiagramme oder HTML-Vorlagen!).

Die aktuelle Übung können Sie hier als txt-File herunterladen.


***** Übungen: Java - Casting *****

Java-Casting-1: Implizites Casting, Fehler finden

Das folgende Listing enthält 6 Fehler, die mit fehlerhaftem implizitem Casting zusammenhängen. Welche sind es? (Bitte NICHT mit einer IDE überprüfen!)

Java-Code
  int alter = 83; float schuhgroesse = 39.5F; float kontostand = 1925.30F; float zinssatz = 3.5F; long anzahlGehirnzellenBeiGeburt = 5000000000L; int verlustGehirnzellenProJahr = 500000; double atomGewichtSynapsen = 1.34823e-300;   int anzahlGehirnzellenHeute1 = anzahlGehirnzellenBeiGeburt - verlustGehirnzellenProJahr * alter; long anzahlGehirnzellenHeute2 = anzahlGehirnzellenBeiGeburt - verlustGehirnzellenProJahr * alter; double anzahlGehirnzellenHeute3 = anzahlGehirnzellenBeiGeburt - verlustGehirnzellenProJahr * alter;   double zusammenhangHirnSchuhe1 = schuhgroesse / anzahlGehirnzellenBeiGeburt; float zusammenhangHirnSchuhe2 = schuhgroesse / anzahlGehirnzellenBeiGeburt; long zusammenhangHirnSchuhe1 = schuhgroesse / anzahlGehirnzellenBeiGeburt;   double kontostandIn10Jahren1 = 10 * zinssatz*kontostand; int kontostandIn10Jahren2 = 10 * zinssatz*kontostand; long kontostandIn10Jahren3 = 10 * zinssatz*kontostand;   long gesamtGewicht1 = anzahlGehirnzellenBeiGeburt*atomGewichtSynapsen; double gesamtGewicht2 = anzahlGehirnzellenBeiGeburt*atomGewichtSynapsen; float gesamtGewicht3 = anzahlGehirnzellenBeiGeburt*atomGewichtSynapsen;    




Java-Casting-2: Implizites Casting, Datentyp bestimmen

Ergänzen Sie die Datentypen der Ergebnisvariablen im folgenden Listing, zuerst OHNE IDE direkt hier im Dokument. Überprüfen Sie dann in der IDE, ob Sie korrekt gearbeitet haben.

Java-Code
int zahl1 = 100; int zahl2 = 11; float zahl3 = 1.5F; long zahl4 = 10000000000L; double zahl5 = 4.23224e-100;   // Ergänzen Sie den Datentyp vor den Ergebnisvariablen // z.B. int ergebnis17 = ...   ergebnis1 = zahl1 + zahl2; ergebnis2 = zahl1 / zahl2; ergebnis3 = zahl1 * zahl3; ergebnis4 = zahl4 + zahl2; ergebnis5 = zahl4 + zahl3; ergebnis6 = zahl4 + zahl5; ergebnis7 = zahl4 * zahl5; ergebnis8 = zahl4 - zahl4 - zahl3; ergebnis9 = zahl4 * zahl3;  




Java-Casting-3: Explizites Casting

Casten Sie die Terme explizit in den jeweils als Kommentar genannten Datentyp. Überprüfen Sie die Lauffähigkeit des Programms.

Überprüfen Sie das Ergebnis der ersten Rechnung (ergebnis1). Versuchen Sie herauszubekommen, nach welcher Regel sich der Datenverlust bestimmen lässt, indem Sie den Initialwert von zahl1 variieren.

Java-Code
  int zahl1 = 1000000000; int zahl2 = 11; float zahl3 = 1.5F; long zahl4 = 10000000000L; double zahl5 = 4.23224e-100;     short ergebnis1 = zahl1 + zahl2; int ergebnis2 = zahl1 / zahl2; int ergebnis3 = zahl1 * zahl3; int ergebnis4 = zahl4 + zahl2; long ergebnis5 = zahl4 + zahl3; float ergebnis6 = zahl4 + zahl5; float ergebnis7 = zahl4 * zahl3; long ergebnis8 = zahl4 - zahl4 - zahl3; int ergebnis9 = zahl4 * zahl3;