Rechnung ohne Klammer liefert komisches Ergebniss

Benutzi

Mitglied
Ich habe eine einfache Rechnung erstellt, aber das Ergebnis ist schon sehr komisch.
Also habe ich die Rechnung in klammer gesetzt und das Ergebnis war richtig.

Java:
package rechnungen;

public class RechnungenKlammer {


    public static void main(String[] args) {
    // TODO Auto-generated method stub


    int a = 5;
    int b = 7;
    int c = 2;
    
    System.out.println("a + b * c = " + (a + b * c));
                    // 19
    System.out.println("a + b * c = " + a + b * c);
                    //514
    
    }


}

Warum ist das so??
 
Zuletzt bearbeitet:
Bei der Rechnung ohne Klammer gibt er dir den Wert a und anschließend den multiplizierten Wert von b und c (7 * 2 = 14) aus, da es aufgrund der fehlenden Klammer und durch das + nach dem a als zwei Ausdrücke erkannt wird und nicht als ganze Rechnung.
 
Anders gesagt, wenn du das Ganze mal umdrehen würdest:
Java:
System.out.println(a + b * c + " = + a + b * c");
würdest du bemerken, dass dieser Code funktioniert. Das liegt daran, dass Java in deinem Fall Konkatenation anwendet und alle nach einem String mit einem "+" angekettete Ausdrücke zum String hinzu "addiert"...
Bei dem 2 Ausdruck: "7 * 2" wird die Rechnung erkannt(da kein +) und somit miteinander multipliziert.

grüße Fabian!
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben