Was wird hier ausgegeben? Also was ist der Inhalt der erg Variable?
int a = 5;
int b = 10;
double erg = a / b;
System.out.println(erg);
a) 0.5
b) 0.0
c) null
d) java.lang.ArithmeticException
Das Ergebnis b) 0.0 richtig.
Es wurde eine division von zwei int durchgeführt.
Es wurde in das Ergebnis erg nur der Ganzzahlige (integraler) Anteil also 0 zugewiesen.
Das war sicher nicht das erwartete Ergebnis, oder? Was kann man tun?
Z.b. einen cast vor der division von einem oder beiden Operatoren:
double richtig = a / (double) b;
System.out.println(richtig); // = 0.5
Was in diesem Zusammenhang oft vergessen wird, ist das testen des divisors (b) auf 0 bei ganzzahliger division.
Ist der 0, kommt es nämlich zu einer ArithmeticException.
Z.b.:
double ex = a / 0; // Exception in thread „main“ java.lang.ArithmeticException: / by zero