Wertzuweisung mit Ausdruck
tres
- java
Hi,
In Java gibt es die Möglichkeit, Werte über einen Ausdruck zuzweisen, leider ist mir entfallen wie dieser genannt wird...
Syntax kann in etwa so aussehen:
String test == null ? null : "test";
kann mir jemand sagen wie diese Form genannt wird und mir etwa noch gleich mein beispiel erläutern? :)
Vielen Dank
Hi,
den Namen habe ich gerade nicht parat, aber im Prinzip ist das ganze nichts anderes als eine kurz if-then-else-Anweisung. In deine Syntax hat sich allerdings noch der ein oder andere Fehler eingeschlichen:
String meinString = (if_condition) ? then-Zuweisung : else-Zuweisung
zu lesen als: Wenn if_condition zutrifft, dann weise meinString den Wert then-Zuweisung zu, ansonsten gib ihm den Wert else-Zuweisung.
Beispiel:
bool indikator = true;
String indText = (indikator) ? "Wahr" : "Falsch";
-> indText erhält eine textuelle Beschreibung von indikator.
MfG
Rouven
Hi,
Hallo
Beispiel:
bool indikator = true;
String indText = (indikator) ? "Wahr" : "Falsch";
Ok danke, deine Beschreibun hat mir sehr weitergeholfen
wenn jetzt noch jemand den namen parat hat, immer her damit.
greez tres
hi,
String test == null ? null : "test";
kann mir jemand sagen wie diese Form genannt wird
Trinitätsoperator.
und mir etwa noch gleich mein beispiel erläutern? :)
Das Beispiel ergibt wenig Sinn.
IdR. sollte das so aussehen:
Variable = Ausdruck1 ? Ausdruck2 : Ausdruck3
Es wird geprüft, ob Ausdruck1 "wahr" (true) ergibt.
Wenn ja, wird Variable der Wert von Ausdruck2 zugewiesen,
wenn nein der von Ausdruck3.
gruß,
wahsaga
Trinitätsoperator.
Hm ich hatte da einen ausdruck ohne fremdwörter im hinterkopf
bzw gibts auch einen englischen begriff dafür?
Variable = Ausdruck1 ? Ausdruck2 : Ausdruck3
Es wird geprüft, ob Ausdruck1 "wahr" (true) ergibt.
Wenn ja, wird Variable der Wert von Ausdruck2 zugewiesen,
wenn nein der von Ausdruck3.
Ok Vielen Dank
gruss tres
Hallo tres,
kann mir jemand sagen wie diese Form genannt wird und mir etwa noch gleich mein beispiel erläutern? :)
Im Englischen wird der Operator oft »ternary operator« genannt, ob es einen deutschen Begriff dafür gibt, weiß ich nicht.
Dieser Operator hat die Form
Bedingung ? Wert_1 : Wert_2
Wenn die Bedingung wahr (true) ist, wird Wert_1 ansonsten Wert_2 zurückgegeben. Ein Beispiel in Java wäre:
blubb = 5;
test = (blubb >= 5) ? "foo" : "bar";
System.out.println(test);
test = (blubb < 5) ? "foo" : "bar";
System.out.println(test);
Die Ausgabe wäre dann:
foo
bar
Schöne Grüße,
Johannes
Im Englischen wird der Operator oft »ternary operator« genannt, ob es einen deutschen Begriff dafür gibt, weiß ich nicht.
ok damit wäre alles klar, vielen dank
viele grüsse tres
Hallo,
kann mir jemand sagen wie diese Form genannt wird
Einen richtigen Namen hat das Konstrukt nicht. Es wird manchmal Fragezeichenoperator
genannt. Gelegentlich sieht man es als Ternär-Operator beschrieben. Bei Wikipedia
findet sich gar kein Name, sondern nur der Hinweis, daß es sich um einen ternären
Operator handelt.
Was anderes...
Die eMail-Adresse test@test.de gehört nicht dir, sondern Stiftung Warentest.
Bitte unterlasse es, diese _irgendwo_ anzugeben. Lass das Feld einfach leer.
Gruß
Slyh
Hi,
kann mir jemand sagen wie diese Form genannt wird
zusätzlich zum bereits Gesagten kenne ich noch den Namen "Bedingungsoperator".
und mir etwa noch gleich mein beispiel erläutern? :)
Dein Beispiel erzeugt einen Fehler ;-) weil 'String null;' und 'String "test";' keine gültigen Java-Codes sind. Der Operator hat einen Rückgabewert (im Grunde ein wirkliches 'return'), welches abhängig von der linken Bedingung dem mittleren bzw. rechten Wert entspricht.
Cheatah