Это называется троичным оператором, и его логика работает следующим образом
a question ? positive answer : negative answer
или, используя более формальные термины
boolean expression ? return value for true : return value for false
Итак, ваш вопрос о num % 2 == 0
, что означаетесли остаток от num
, деленный на два, равен нулю.Если это так - это четное число, если нет - это нечетное число, и поэтому возвращается соответствующее строковое значение.