Conditional Operator

Kababär

Top Contributor
Hallo :)

ich sehe mir gerade ein eine Einführung in die Java-Programmierung an. Die Online Version von Galileo ist irgendwie ziemlich oberflächlich und arbeitet nicht mit Quellcodes.

Hier bin ich gerade am Lesen. Allerdings verstehe ich jetzt nicht, wofür dieses ? : verwendet wird und was es macht.
Ich hab zwar verstanden, dass es ein Boolean ist, also er kann den Wert true oder false annehmen.
Aber das Beispiel verwirrt mich. Dieses a>b kann also true oder false annehmen.
Wenn es so ist, soll a maximiert werden, wenn nicht, soll b maximiert werden?

Ist das nicht eine normale If-Loop? Vielleicht liegts auch daran, dass ichs nicht verstehe, weil da teilweise Text fehlt, oder?

Kann mir da mal einer helfen? Ich will nicht an dieser Stelle hängen bleiben, danach kommen die if cases, while and for loops. Die habe ich ja schon aus HTML ziemlich drauf, noch.

mfG und danke im Voraus
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
habe deinen Titel angepasst, so kannst du ihn auch in Suchen eingeben für andere Seiten, etwa
The ? : operator in Java

wobei dein Link schon direkt beantwortet dass es dasselbe wie if/else ist, wie kann man da deutlicher werden?

> soll a maximiert werden
nein es passiert genau das was auch im if/else passiert, wie es die Seite sagt..
 

Kababär

Top Contributor
Ok, ich danke dir :)

Da es das selbe ist wie if-else, muss ich diesen Zweig mit dem ?: Operator ja nicht verstehen?

If-else sieht besser aus :rtfm:

mfG
 
G

Gast2

Gast
Der ternäre Operator hat aber auch seine Vorteile, er kann was "zurückgeben".

Java:
String result = "";
if (bedingung) {
  result = "Bedingung eingetreten";
} else {
  result = "Bedingung nicht angetreten";
}
wird zu
Java:
String result = bedingung ? "Bedingung eingetreten" : "Bedingung nicht angetreten";
Schön knackig kurz ;)
 
S

SlaterB

Gast
da nicht alle Programmierer drauf verzichten, wäre Verständnis wohl schon besser,
was passiert beim if/else im if-Teil, wie irgendwas maximiert oder einfach nur eine Variable zugewiesen?
dasselbe passier beim ? auch, nur anders geschreiben
 

Kababär

Top Contributor
Also ist eine if-else Schleife für den Programmierer und die anderen nicht sichtbar, während ich mit dem ?: Operator, die true Bedingung ausgeben kann??

mfG
 
S

SlaterB

Gast
if-schleife.de

wie alle Welt dir sagen will und das Buch schreibt ist das eine ein Ersatz für das andere,
insofern stimmen deine Worte ganz streng interpretiert, aber ob man das nun als unsichtbar interpretieren muss..
 

Kababär

Top Contributor
Wer erstellt denn dafür eine eigene Website? :D

Ok, ich glaub ich habs.

Das ?: ist einfach nur kürzer und kann etwas "zurückgeben". Mehr scheint dabei gar nicht zu sein.
Ich hab ein Hang dazu, Dinge dramatischer zu sehen als sie sind.

Darf man hier eigentlich Fragen stellen, auch wenn sie noch so selten doof sind? Oder gibts keine visuelle Schläge für Verständnisfragen?

mfG
 
S

SlaterB

Gast
wenn man mit doofen Antworten fertig wird kann man auch doofe Fragen stellen,
was du mit 'visuelle Schläge' meinst weiß ich nicht genau, wahrscheinlich genau solche Forum-Antworten,
was anderes gibts jedenfalls nicht
 

Kababär

Top Contributor
Passender wäre glaube ich der Begriff virtuell gewesen.

Ich habs im Gefühl, dass in Zukunft bestimmt nochmal die ein oder andere Frage auftauchen wird :)

mfG
 

ARadauer

Top Contributor
Solange der Titel aussage kräftig ist,
der Beispiel code mit java Tags umschlossen ist,
die Fehlermeldung gepostet wurde
und eine Frage vorhanden ist, wird dir gerne geholfen...
Und ehrlich es gibt viele Posts wo keiner der 4 Punkte zutrifft... Da muss man sich dann schon auf flames gefasst machen ;-)
 
I

irgendjemand

Gast
@TO

es gibt KEINEN IF-LOOP ... *boa echt jetzt*

"? :" ist der sog. ternär-operator und nur eine kurzform für ein if-else konstrukt

Java:
condition ? true-statement : false-statement

heißt nicht mehr und nicht weniger als
wenn "condition" true ist wird das true-statement ausgeführt ... wenn false dann das false-statement

Java:
if(condition)
	true-statement
else
	false-statement
 
S

SlaterB

Gast
> heißt nicht mehr und nicht weniger als

bisschen weniger oder mehr heißt das schon, im ? können keine beliebigen Statements bzw. stehen sondern nur Werte/ Ausdrücke, was auch immer
 

Evil-Devil

Top Contributor
Solange man den Ternären-Operator nicht missbraucht geht es ja immer.

Aber bei allerspätestens zwei Verschachtelungen sollte Schluss sein.

Code:
return = a > b ? (d > a ? d : a)  : (c < b ? c : b)
Das ist nicht schön und nicht sonderlich leserlich ^^" Besonders fies, wenn dann noch jemand Shift-Operatoren mit dazu nimmt...ein Klammer-Urwald
 
I

irgendjemand

Gast
> heißt nicht mehr und nicht weniger als

bisschen weniger oder mehr heißt das schon, im ? können keine beliebigen Statements bzw. stehen sondern nur Werte/ Ausdrücke, was auch immer

wenn man sich ETWAS mit java beschäfigt ... dann sollte man eigentlich wissen das "condition" in verbindung mit einem if() beispiel bedeutet das dort natürlich nur eine anweisung stehen kann die entweder TRUE oder FALSE liefert ... also eben ein boolscher ausdruck ... was dann im nachinein in den beiden statements steht ist völlig egal *da man dort sogar methoden oder gar konstruktoren aufrufen kann ...*

daher war dieser hinweis in meinem kontext eigentlich überflüssig ... obgleich er trotzdem richtig ist

und um "?" als bedingte zuweisung zu missbrauchen *vor allem wie erwähnt mit verschachtelung und shifting* ... ja .. es ist möglich ... aber ziemlich schwer zu lesen ...

*wobei ich glaube das der compiler daraus eh ein if()-else macht ... weis nicht ... auch grad keine lust es auszuprobieren*
 

tfa

Top Contributor
"? :" ist der sog. ternär-operator und nur eine kurzform für ein if-else konstrukt
Das ist verkehrt, wie du es beschreibst!
Der ?:-Operator verlängt Expressions und keine Statements! Ebenso bildet er selbst eine Expression, und ist kein Statement, wie das if-else-Statement. Syntaktisch ist das ein großer Unterschied.
Lies die JLS!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Conditional Operator ?: Java Basics - Anfänger-Themen 3
pkelod Binäre Darstellung Bitwise-Operator Java Basics - Anfänger-Themen 10
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
C ?: Operator Java Basics - Anfänger-Themen 14
L Java operator % Java Basics - Anfänger-Themen 3
KogoroMori21 Erklärung zum Ternären Operator Java Basics - Anfänger-Themen 4
B Modulo-Operator anhand eines Beispieles erklären Java Basics - Anfänger-Themen 7
C Ternärer Operator mit Strings Java Basics - Anfänger-Themen 3
L Modulus Operator Java Basics - Anfänger-Themen 3
A Zuweisungen und -- operator; Java Basics - Anfänger-Themen 2
H << Operator Java Basics - Anfänger-Themen 7
F RegEx "+" nur als Zeichen, nicht als Operator oder Sonstiges Java Basics - Anfänger-Themen 2
H Operatoren Der bedingte Operator ? : ; Java Basics - Anfänger-Themen 2
J new-Operator Java Basics - Anfänger-Themen 6
H this operator - was ist das? Java Basics - Anfänger-Themen 2
R Operatoren Bad operand types for binary operator Java Basics - Anfänger-Themen 4
O Bedingter Operator eine Frage! Java Basics - Anfänger-Themen 10
O Erste Schritte x*y*z mit Shift Operator moeglich? Java Basics - Anfänger-Themen 15
L Operatoren error: bad operand types for binary operator && Java Basics - Anfänger-Themen 8
E Methoden in new-Operator Methode in geschweifter Klammer Java Basics - Anfänger-Themen 3
I bad operand types for binary operator > Java Basics - Anfänger-Themen 5
L Operatoren Übungsklausuraufgabe, unbekannter Operator Java Basics - Anfänger-Themen 13
H Operatoren Fehler bad operand types for binary operator Java Basics - Anfänger-Themen 7
snipesss Operator "-" is undefined Java Basics - Anfänger-Themen 1
F Operatoren If mit variabelem Operator Java Basics - Anfänger-Themen 2
J instanceof Operator Java Basics - Anfänger-Themen 3
K Operatoren The Operator * is undefined for the argument type(s) double, String Java Basics - Anfänger-Themen 4
J Operator * benutzen Java Basics - Anfänger-Themen 3
DeVolt Operatoren Frage zum new-Operator Java Basics - Anfänger-Themen 4
N Methoden Modulo Operator Java Basics - Anfänger-Themen 1
S Operatoren ! Operator Java Basics - Anfänger-Themen 4
O Operator undefined Java Basics - Anfänger-Themen 2
N this-Operator Java Basics - Anfänger-Themen 2
ubaro1 Operatoren Der Tide Operator und positive Ganzzahlen in Binär Java Basics - Anfänger-Themen 1
S Hashcode - Operator ^ Java Basics - Anfänger-Themen 11
M Shift Operator Java Basics - Anfänger-Themen 3
V XOR-Operator? Java Basics - Anfänger-Themen 5
K Zugriff einer Klasse auf eine andere Andere -> bad operand for binary operator Java Basics - Anfänger-Themen 5
J bad operand types for binary operator Java Basics - Anfänger-Themen 3
T Pixelmanipulation Sobel-Operator Java Basics - Anfänger-Themen 2
K Frage zu Class Operator Java Basics - Anfänger-Themen 2
L The operator && is undefined for the argument type(s) String, boolean Java Basics - Anfänger-Themen 8
C Operatoren | - Operator Java Basics - Anfänger-Themen 10
K .Class Operator unklar Java Basics - Anfänger-Themen 3
B Operator | Java Basics - Anfänger-Themen 11
R Compiler-Fehler Operator + nicht erlaubt? Java Basics - Anfänger-Themen 6
C Was tut der | Operator? Java Basics - Anfänger-Themen 8
K Polymorphie und instanceOf Operator Java Basics - Anfänger-Themen 6
S Objekt Erzeugung ohne new Operator Java Basics - Anfänger-Themen 6
C Logischer UND Operator funktioniert nicht richtig Java Basics - Anfänger-Themen 5
H Buch: Java lernen mit BlueJ Modulo-Operator Java Basics - Anfänger-Themen 16
A Was bedeutet der Operator *= ? Java Basics - Anfänger-Themen 2
A Operator in Java Java Basics - Anfänger-Themen 11
S Modulo Operator Java Basics - Anfänger-Themen 8
C Variablen Problem: variable operator might not have been initialized Java Basics - Anfänger-Themen 9
D : ? Operator -Verständnisproblem Java Basics - Anfänger-Themen 24
K OOP Wertebereich Ergebnis von % Operator Java Basics - Anfänger-Themen 8
L Frage zu Konstruktoren und dem this Operator Java Basics - Anfänger-Themen 16
R Ersatz für Modulo Operator Java Basics - Anfänger-Themen 8
W &-Operator in diesem Zusammenhang Java Basics - Anfänger-Themen 19
J Oder-Operator Tastenkürzel Java Basics - Anfänger-Themen 7
K Cast-Operator Java Basics - Anfänger-Themen 3
D Bit-Operator & Java Basics - Anfänger-Themen 5
Q mathematische Operationen als Methode und nicht Infix-Operator Java Basics - Anfänger-Themen 14
V Cast-Operator Java Basics - Anfänger-Themen 2
G super operator und incompatible types, simple fehler Java Basics - Anfänger-Themen 8
N Operator aus Array lesen Java Basics - Anfänger-Themen 2
G Für was braucht man den This-operator Java Basics - Anfänger-Themen 3
M Binärdarstellung in Java mit Shift-Operator + bitweises und Java Basics - Anfänger-Themen 2
W Seltsamer Operator int var = 1<< 23; Java Basics - Anfänger-Themen 4
P If Abfrage, Variablenvertauschung und UND Operator Java Basics - Anfänger-Themen 4
J Modulo-Operator rechnet falsch Java Basics - Anfänger-Themen 2
B + operator Java Basics - Anfänger-Themen 4
F Generische Methode - was bringt der Wildcard Operator? Java Basics - Anfänger-Themen 7
H Konditional Operator Java Basics - Anfänger-Themen 2
NightmareVirus new operator Java Basics - Anfänger-Themen 5
M %-Operator Java Basics - Anfänger-Themen 3
G string ohne '+' operator Java Basics - Anfänger-Themen 5
S Modulo-Operator Java Basics - Anfänger-Themen 5
S Operator ! auf char nicht anwendbar, was nun? Java Basics - Anfänger-Themen 7
T sobel-operator Java Basics - Anfänger-Themen 3
W %-Operator Java Basics - Anfänger-Themen 4
S Unterschied: ++a & a++ Operator? Java Basics - Anfänger-Themen 9
ven000m Operator += Java Basics - Anfänger-Themen 4
Student Probleme mit dem new-Operator Java Basics - Anfänger-Themen 14
G Operator-Überladung Java Basics - Anfänger-Themen 6
B Operator Java Basics - Anfänger-Themen 2
Z operator ++ Java Basics - Anfänger-Themen 3
N return-Operator Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben