Schaut euch mal folgenden Code an:
Bei der Division entsteht 2.5!! Aber b nimmt das ohne Probleme an. Warum geschieht hier das ad hoc casting? Wäre es hier nicht besser, wenn man den Programmierer warnt, dass der Wertebereich verlassen wird!?
Das ist doch eine mögliche Fehlerquelle, wenn man mal nicht aufpasst hat man plötzlich andere Zahlen bei einer Rechnung, als eigentlich erwartet. Besonders, weil die Ausgabe dieses Programms 2 ist! Es wird also abgerundet.
Also ich hätte jetzt mit einer Fehlermeldung gerechnet. Und logischer wäre, wenn b zu einem float bzw. double werden würde. Obwohl das wieder weitere Fehler im Code verrusachen könnte.
:bahnhof:
Code:
public class IntTest {
public static void main(String args[]) {
int a = 5;
int b = a / 2;
System.out.println("" + b);
}
}
Bei der Division entsteht 2.5!! Aber b nimmt das ohne Probleme an. Warum geschieht hier das ad hoc casting? Wäre es hier nicht besser, wenn man den Programmierer warnt, dass der Wertebereich verlassen wird!?
Das ist doch eine mögliche Fehlerquelle, wenn man mal nicht aufpasst hat man plötzlich andere Zahlen bei einer Rechnung, als eigentlich erwartet. Besonders, weil die Ausgabe dieses Programms 2 ist! Es wird also abgerundet.
Also ich hätte jetzt mit einer Fehlermeldung gerechnet. Und logischer wäre, wenn b zu einem float bzw. double werden würde. Obwohl das wieder weitere Fehler im Code verrusachen könnte.
:bahnhof: