This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes Very basic question about hidden if else How this works ?? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Very basic question about hidden if else How this works ??" Watch "Very basic question about hidden if else How this works ??" New topic
Author

Very basic question about hidden if else How this works ??

Gemini Moses
Ranch Hand

Joined: Jan 04, 2001
Posts: 245
return map.get(Product1) != null ? (String) map.get(Product1) : NO;
Bridget Kennedy
Ranch Hand

Joined: Nov 30, 2004
Posts: 84
This is an example of a ternary operator.

Here is another good description.
[ October 20, 2008: Message edited by: Bridget Kennedy ]
Ravikanth kolli
Ranch Hand

Joined: Feb 10, 2008
Posts: 179

It is the same as the usual IF-ELSE statement.
something like

if(condition)
then do something 1 ;
else
do something 2

The tertiary operator is similar to..

(condition)? do something 1 : do something 2;


-kolli
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 37902
    
  22
Originally posted by Ravikanth kolli:
It is the same as the usual IF-ELSE statement.
No, it isn't. The ?: operator is an operator which has to fit inside a statement; if-else requires two statements.
I liked Bridget Kennedy's first example (well, until I saw that lunatic Campbell Ritchie had replied), but am not quite so happy with the second.
boolean giveTicket;
giveTicket = speed > speedLimit ? true : false;
if (giveTicket)
pullEmOver(); // nab the offender!
It should read

giveTicket = speed > speedLimit;

But they are right to point out the difference between ?: and if-else.

In Deitel and Deitel you find examples like this

. . . hour > 12 ? "pm" : "am" . . .

What you are doing is embedding a tiny choice between two possibilities inside a line. That example will return the String "am" or the String "pm" depending on the value of hour.

Notice the ?: operator takes 3 operands:
  • First: boolean value, Boolean, or expression returning a boolean.
  • Second: Any type, depending on what the rest of the statement needs.
  • Third: same as second (once any casts, implicit or explicit, are taken into consideration).
  •  
    It is sorta covered in the JavaRanch Style Guide.
     
    subject: Very basic question about hidden if else How this works ??
     
    Similar Threads
    Beginner Java Question
    Accessing value in MAP using EL
    JTable ClassCastException
    Correlation in SQL to distinguish tables
    Problem with HashMap