Java Reference
In-Depth Information
Quellcode ist fehlerbereinigt, denn der Compiler erzeugt keine Fehlermeldungen. Die
Ausgabeanweisungen werden ausgeführt und zeigen die Variablenwerte an. Program-
mieranfänger geben sich mit diesen Überprüfungen zufrieden und sehen die Aufgabe
als gelöst an. Das Testen eines als fertig angesehenen Programms ist eine der aufwän-
digsten Aufgaben beim Programmieren. Hier ist sehr große Sorgfalt geboten, d. h., dass
die Programmergebnisse sehr genau überprüft werden müssen. In unserem Beispiel, in
dem keinerlei Eingaben des Anwenders erfolgen, ist das noch relativ einfach. Ein
genauer Blick auf die ausgegebenen Werte zeigt aber auch hier, wie leicht Fehler überse-
hen werden.
2
Überprüfen Sie die Ausgabe der Variable fzahl , indem Sie den ausgegebenen Wert mit
dem zugewiesenen Wert vergleichen. Es wird offensichtlich ein etwas anderer Wert aus-
gegeben. Wo liegt die Ursache für diese Abweichung? Der zugewiesene Wert umfasst
acht Nachkommastellen. In Tabelle 2.2 sind als Genauigkeit für float -Werte, und als sol-
chen haben wir den Zahlenwert gekennzeichnet, sieben Nachkommastellen angegeben.
Der Compiler war gezwungen, den Wert so anzupassen, dass er in den Speicherplatz
passt, der für eine float -Variable zur Verfügung steht. Bei dieser Anpassung wird aber
nicht ab- oder aufgerundet, sondern es entsteht ein abweichender Wert, der nur schwer
vorhersehbar ist. Solche Verfälschungen kommen immer dann vor, wenn Zahlenwerte
in Variablen gespeichert werden, für die sie eigentlich zu groß sind. Sie sollten deshalb
die gültigen Wertebereiche für die gewählten Datentypen im Auge behalten.
Ich empfehle Ihnen, für Zahlenwerte die Standardtypen int und double zu verwenden.
Sie sind für die meisten Anwendungen ausreichend groß bemessen, und das Argument,
dass man mit den Datentypen byte und short bzw. float für Kommawerte Speicher-
platz einsparen kann, spielt bei den heute zur Verfügung stehenden Speichergrößen
kaum noch eine Rolle. Wenn Sie noch einmal einen Blick auf die Fehlermeldung in
Abbildung 2.5 werfen, werden Sie feststellen, dass die Fehlermeldung des Compilers
sehr präzise auf dieses Problem aufmerksam gemacht hat. Er hat dort gemeldet: »pos-
sible loss of precision« (möglicherweise droht ein Verlust an Genauigkeit). Es lohnt sich
also, bei jeder Fehlermeldung genau hinzuschauen, was der Compiler meldet.
2.3.6 Praxisbeispiel II zu Variablen
Wir erstellen im Projekt JavaUebung02 eine Klasse mit dem Namen Variablen2 . In der
main -Methode dieser Klasse sollen fünf Zeichen-Variablen mit den Namen z1 , z2 , z3 , z4
und z5 deklariert werden. Die Variablen sollen mit den folgenden Werten der Tabelle 2.5
initialisiert und dann ausgegeben werden.
Search WWH ::




Custom Search