Давайте разберем выражение:
double a = 1 / (1.0 / 0.0);
сначала вычисляется выражение 1.0 / 0.0
и получается +infinity
.
Затем вычисляется следующее выражение: 1.0 / +infinity
, что приводит к 0.0
, который является выходным значением, которое вы получаете.
int
1
повышен до double
до оценки.
Все остальные ответы также применимы.