In die Anweisung : long d = (long) (a + f / c + b); hat die Division normalerweise die Priorität . Also f==1234,15 wird durch c==0 dividiered und kriegen wir mormalerweise eine Exception (ArithmeticException). Warum ist das nicht der Fall?
public static void main(String[] args) {
int a = 0;
int b = a + 46;
byte c = (byte) (a * b);
double f = 1234.15;
long d = (long) (a + f / c + b);
System.out.println(d);
}
package de.codegym.task.task10.task1001;
/*
Aufgabe Nr. 1 zu Integer-Typumwandlungen
*/
public class Solution {
public static void main(String[] args) {
int a = 0;
int b = a + 46;
byte c = (byte) (a * b);
double f = 1234.15;
long d = (long) (a + f / c + b);
//System.out.println(d);
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
}
}