meine frage ist, welches else zu welchem if gehört. ich weiß das das else immer zum innersten if gehört.
nun ja, demnach müsste doch das 1. else mit der ausgabe "Klabautermann" zu if(false) gehören und das zweite else mit der ausgabe "Pumuckel" müsste demnach dem zweiten if(3!=4) gehören, oder etwa nich...?
laut aufgabenstellung ist der code oder vtl. sollte ich auch codeabschnitt sagen, so gegeben. und ich darf laut aufgabenstellung die ausgabe herausfinden, ohne den code auf der konsole ausgeben zu lassen.
ah,okay....das mit dem formatieren wusste ich nicht...;=) das sind quasi meine ersten schritte mit java...
also wenn ich das jetzt richtig vertstanden habe, dann gehört das else mit der ausgabe "Klabautermann" zu if(3!=4) und das else mit der ausgabe pumuckel zu if(false), oder nich?
also das passt schon so, bis auf das semikolon in zeile sieben das darf sich dort nicht befinden. und wenn man jetzt stark nach vereinfachungsregeln geht, dann fallen einige zweige der alternativen weg. wenn man z.b. 3!=4 betrachtet, dann sind das statische angaben (literale, arithmetischer vergleich), die der compiler erkennen und durch etwas anderes ersetzen kann. aus testgründen sollte man alles einmal compilieren und sich das aus einem java decompiler resultierende "dekompilat" mal anschauen.
Natürlich darf es. Ohne die Klammerung ist es sogar ein MUSS.
@TE habe dir zum verständniss nochmal etwas aufgezeichnet:
Links siehst du dein Gedankengang, rechts wie es sein sollte/wie es ist.
Wie du links siehst kreuzen sich die IF/else's, was in keiner Programmiersprache möglich ist. Es muss immer erst die INNERSTE if geschlossen werden.
Fals du HTML kannst, hier noch ein beispiel:
HTML:
<div><p>Falsch</div></p>
HTML:
<div><p>Richtig</p></div>
Wie du siehst, muss immer zuerst der INNERSTE Block geschlossen werden. da <p> der innerste ist, musst du auch erst diesen wieder schließen, bevor du das <div> schließen kannst. Und jetzt das ganze auf Java und If's angewandt, und du hast es verstanden