In Java gibt es bei den Berechnungen ein paar einfache Regeln:
- Die Auswertung erfolgt von links nach rechts.
- Bei der + Operation wird
a) eine Addition durchgeführt, so die Operanden zu einer Zahl gemacht werden können.
b) ein String zusammen gesetzt, wenn ein Operand ein String ist.
Also schauen wir einmal an, was Du da hast:
number1 + operand + number2 + "=" + ergebnis
Also links nach rechts - also kommt zuerst number1 + operand. number1 ist eine Zahl (int), operand ist ein char und damit eine 16Bit Zahl und kann daher zu einem int gemacht werden => Integer Addition
Dann kommen das Ergebnis der Addition + number2 -> hier ist beides ein int - also eine Addition.
Nun kommt das Ergebnis + "=" -> der zweite Operand ist ein String, daher wird der erste Operand zu einem String gemacht und es kommt ein String heraus.
Zuletzt kommt dann der bisherige String + ergebnis - der erste Operand ist ein String, daher wird das ergebnis zu einem String gemacht und diese aneinander gehängt.
Der char '+' hat ein Wert von 43, daher 1 + 43 + 2 = 46.
Den Wert von einfachen Zeichen kann man aus der ASCII Tabelle entnehmen, also z.B. unter
https://www.torsten-horn.de/techdocs/ascii.htm
Aber: Das ist streng genommen kein ASCII Wert! Es ist ein UTF-16 Codepoint!