Was versteht man unter Typumwandlung ?
Wie kann es bei einer Typumwandlung zu unerwünschten Veränderungen im Wert kommen ?
Java verhindert, dass solche unerwünschten Veränderungen versehentlich geschehen und weist den Programmierer während des Kompilierens auf mögliche Datenverluste durch Typumwandlungen hin. Wie funktioniert dieser Sicherheitsmechanismus? Erläutern Sie in diesem Zusammenhang den Begriff Zuweisungskompatibilität.
Was versteht man unter expliziter bzw. impliziter Typumwandlung ? Nennen Sie jeweils ein Beispiel.
Ist die folgende Quelltextzeile korrekt ? Korrigieren Sie sie gegebenenfalls !
Java verhindert implizite Typumwandlungen, wenn aufgrund fehlender Zuweisungskompatibilität ein Datenverlust möglich ist. Wie kann man diesen Sicherheitsmechanismus umgehen und worauf muss man dabei achten, um die Stabilität der Software nicht zu gefährden ?
Es gibt explizite und implizite Typumwandlung. Bestimmen Sie jeweils, in welche Kategorie die folgenden Quelltextbeispiele fallen und nennen Sie den Quell- und den Zieltyp der Umwandlung:
Betrachten Sie den nachfolgenden Code. Was müssen Sie tun, um die Methode addiere( ) dahingehend abzusichern, dass es auf keinen Fall einen Überlauf des Wertebereichs des Rückgabetyps gibt ?
Betrachten Sie die nachfolgende (noch nicht funktionsfähige)
addiere( )-Methode
, die einen Überlauf des Rückgabewertes verhindern soll. Erläutern Sie die (beabsichtigte) Funktionsweise der Methode und versuchen Sie vorauszusagen, mit welcher Meldung der Compiler darauf reagieren wird. Warum wird die Methode nicht kompiliert ?
Schreiben Sie die Methode addiere() aus der vorhergehenden Aufgabe so um, dass sie kompiliert (funktionieren soll sie noch nicht). Begründen Sie Ihre Änderung
(Lösung)
.
Die Methode addiere( ) aus der vorhergehenden Aufgabe kompiliert jetzt, aber sie funktioniert noch nicht. Schreiben Sie ein kleines Testprogramm, in das Sie die Methode einbauen und finden Sie den Fehler. Beschreiben und beheben Sie ihn
(Lösung)
.