Ich lerne jetzt schon eine Weile Java und lerne immer noch neue Syntaxtricks und Sachen. Ich bin im Android-Quellcode darauf gestoßen:
boolean retry = id == 1;
Was bedeutet das?
RufusInZen
Ich lerne jetzt schon eine Weile Java und lerne immer noch neue Syntaxtricks und Sachen. Ich bin im Android-Quellcode darauf gestoßen:
boolean retry = id == 1;
Was bedeutet das?
JB Niet
id == 1
ist ein boolescher Ausdruck, der wahr ist, wenn id
gleich 1
andernfalls false.
boolean retry = id == 1;
deklariert eine boolesche Variable mit dem Namen retry
und weist den Wert des booleschen Ausdrucks zu id == 1
zu dieser Variable.
Es deklariert also eine boolesche Variable, die wahr ist, wenn id == 1
andernfalls false.
Um es etwas klarer zu machen, könntest du es so schreiben:
boolean retry = (id == 1);
Ich würde es als Abkürzung für lesen id == 1 ? true : false
bei dem die true
und false
sind überflüssig geworden
– Matt
4. Februar 2013 um 23:26 Uhr
Obl Tobl
retry
ist true
wenn id
hat sonst den Wert 1 retry
ist false
.
Es ist dasselbe wie
boolean retry;
if (id == 1)
retry = true;
else
retry = false;
Anirudha
==
das das Gleichheitsprädikat ist, hat eine höhere Priorität als =
das ist der Zuweisungsoperator.
Deswegen, id == 1
wird zuerst ausgewertet und dann wird ihr Wert (entweder wahr oder falsch) zugewiesen retry
.
duffy356
Die boolesche Wiederholung erhält den Wert true if id == 1
.
Es ist dasselbe wie:
boolean retry;
if (id == 1) {
retry = true;
} else {
retry = false;
}
Debug-Informationen werden zur Laufzeit vollständig ignoriert (fehlen!) und sollten daher keinen Unterschied machen.
– TheBlastOne
15. April 2013 um 13:51 Uhr
Obl Tobl
zuerst die id
wird mit 1 bewertet, also vermutlich id
ist ein integer
.
Danach der Wert retry
dieser Bewertung zugeordnet ist, also wenn id
ist gleich 1, retry
wird werden true
und für jeden anderen Wert von id
retry
wird werden false
.
Debug-Informationen werden zur Laufzeit vollständig ignoriert (fehlen!) und sollten daher keinen Unterschied machen.
– TheBlastOne
15. April 2013 um 13:51 Uhr
ShuklaSannidhya
Diese Zeile erstellt eine boolesche Variable und setzt sie auf true
wenn id
gleich 1 und ist false
wenn es das nicht ist.
Wenn Sie zur Klärung der Frage einen Kommentar abgeben müssen, tun Sie dies bitte. Die Kommentare funktionieren nicht so gut, um zu flammen, ausgedehnte Scherze zu machen oder die Farbe Ihrer Socken zu erkennen.
– Georg Stocker
4. Februar 2013 um 16:58 Uhr
Wow, das hat insgesamt über 80 positive und negative Stimmen. Warum stimmen die Leute ab? Es ist klar und es ist zum Thema, und obwohl es eine Anfängerfrage ist, ist es möchten schwer zu googlen. Um die Antwort zu finden, müssten Sie wissen, dass es sich um ein Problem mit der Operatorpriorität handelt, und das ist leicht etwas, das ein Anfänger vielleicht noch nicht versteht. Anfänger zu sein ist kein Verbrechen.
– Guss
15. Februar 2013 um 21:05 Uhr
@Gus Wenn es hilft, diese Frage war ein bisschen kontrovers – zumindest genug, um einen zu entfachen Meta-Beitrag. Das sollte einige der Ablehnungen sowohl bei der Frage als auch bei den Antworten erklären.
– Mystisch
16. Februar 2013 um 17:26 Uhr
Ich dachte immer, man müsste es gerne mit () umschreiben
boolean retry = (id == 1);
Ich denke, das dient der Lesbarkeit.– Entwicklerwjk
9. Mai 2014 um 0:03 Uhr