What will be printed out if the following code is compiled and executed?

public class Main {
    public static void main(String s[]) {
        System.out.println(true ? false : true == true ? false : true);
    }
}
Explanation
Current ternary operator expression works like this:

if (true) { return false; }
else { 
    if (true == true) { return false; }
    else { return true; }
}

== имеет больший приоритет. 1. true == true // true 2. true ? false : true // это хвостовая часть. В итоге дает false, тк при верном ответе выбирается вариант до двоеточия, при неверном после двоеточия 3. К части слева "true ? false :" добавляют полученный в шаге 2 "false". Получаем: true ? false : false

2017 Dec 13, 10:51:39 AM

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Cosmo
Sign Up Now
or Subscribe for future quizzes