Разбей это. У нас есть
sum = expression
Сумма имеет тип байта. Какой тип выражения? Сломай. Выражение
summand1 + summand2
Summand1 имеет тип байта. Какой тип является summand2? Сломай. Это:
test ? consequence : alternative
Тест относится к типу bool. Альтернатива имеет тип байта. Какой тип является следствием? Сломай! Это:
summand3 + summand4
Это байт + байт. Байт + байт - это int, поэтому следствие имеет тип int.
Теперь у нас достаточно информации для определения типа summand2. Следствием является int, альтернативой является байт, и int является более общим из этих двух типов. (Поскольку каждый байт конвертируется в int, но не каждый int конвертируется в байт.)
Следовательно, тип summand2 является int. Таким образом, у нас есть сумма, равная байту плюс int. Байт плюс int - это int, и поэтому мы присвоили int байту. Это явное преобразование, а не неявное преобразование.