Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Aus dem simplen Grund, weil das "=" schon als Zuweisungsoperator definiert ist, und dementsprechend nicht auch noch auf Gleichheit testen kann.
Würdest du
Code:
int x = 5;
if(x = 5) {
// Do something...
}
schreiben, so würde x einfach nur 5 zugewiesen werden, was entweder true ergibt (als sogenannten Seiteneffekt) oder eine Exception auslöst, wenn die Typen nicht passen.
Denn woher soll der Compiler wissen, was du gemeint hast??
sorry dass mit der eckigen klammer stammt aus dem forum, nicht aus dem codestück, das codestück macht keinen sinn, es ist nur zu verständnis... eigentlich sind doch beide korrekt oder, nur das eine ist eine zuweisung und das andere ein vergleich, oder lieg ich da falsch...
Nein nur das zweite ist Richtig... Du kannst keine Zuweisung in einer If() Klausel machen...
In einer If() klausel wird nur prüft ob es Wahr oder nicht wahr ist. Demzufolge kann nicht stehen x=5; Da du dann würdet sagen.
1. :idea:
if ( x = 5)
ist( x soll 5 ) ? da kann also nicht wahr oder unwahr bei raus kommen.
2. :idea:
if(x == 5 )
ist( x gleich 5) ? da entsteht ein wahrheiswert...