Добавление или 2 или более переменных, которые имеют тип int или ниже, чем int, приводят к типу int.
Так что то, что вы делаете с char c2 = 'A' + c1;
, фактически не дает вам результата char.Это дает вам int результат, который вы пытаетесь неявно набрать приведение к байту, что дает вам ошибку времени компиляции.
Сводка Char + Char = Int И Char не может напрямую хранить Int.
Попробуйте сделать это вместо этого char c2 = (char)('A' + c1);
Здесь вы явно вводите приведение значения int к типу char. Сообщая компилятору, что вы готовы принять преобразование с потерями что может случиться