Что выведет код Middle String и пул строк обновлено

Что выведет: char, int и строки

Вопрос

Что выведет программа (Java 21)? Каждый вывод println с новой строки.

public class Main {
    public static void main(String[] args) {
        System.out.println('a' + 'b');
        System.out.println("" + 'a' + 'b');
        System.out.println('a' + 'b' + "c");
        System.out.println("c" + 1 + 2);
        System.out.println(1 + 2 + "c");
        char ch = 'a';
        ch += 1;
        System.out.println(ch);
    }
}

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: 195, ab, 195c, c12, 3c, b. + вычисляется слева направо.

Что выведет

195
ab
195c
c12
3c
b

Разбор

+ вычисляется слева направо. 'a' + 'b': два char расширяются до int, 97 + 98 = 195. С пустой строкой впереди всё дальше конкатенация: ab. 'a' + 'b' + "c": сначала 195, потом склейка: 195c. "c" + 1 + 2 склеивает по очереди: c12, а 1 + 2 + "c" сначала складывает: 3c. Составное присваивание ch += 1 делает неявное приведение к char: b.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме