Forums Register Login

Expression evaluation

+Pie Number of slices to send: Send
Could someone please explain me the order of evaluation the following expression uses to execute? I guess it would be easier just to put the extra parenthesis in place.

int i=1;
int j = 2;
if (i==1 || j==2){
System.out.println("true");
}

Thanks!
+Pie Number of slices to send: Send
Hi -

A quick Google search for "Java operator precedence" took me straight to Sun's official documentation:
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/expressions.html

You'll note in the table that "equality" (==, !=) has higher precedence than "logical OR". So the expression will be evaluated:

(i == 1) || (j == 2 )
<= THIS WILL, OF COURSE, EVALUATE TO "TRUE"

One thing the Java page *doesn't* mention is that "&&" and "||" are "short circuit" operators - that is, the second expression will *not* be evaluated if the first one is true. This can often be a very important distinction.
Hope that helps .. PSM
[ February 11, 2005: Message edited by: Paul Santa Maria ]
+Pie Number of slices to send: Send
 

Originally posted by Filipe Pomar:
I guess it would be easier just to put the extra parenthesis in place.



Yes, I'd probably do exactly that.
+Pie Number of slices to send: Send
Thanks guys!
+Pie Number of slices to send: Send
 

Originally posted by Paul Santa Maria:

...
One thing the Java page *doesn't* mention is that "&&" and "||" are "short circuit" operators - that is, the second expression will *not* be evaluated if the first one is true. This can often be a very important distinction.
Hope that helps .. PSM

[ February 11, 2005: Message edited by: Paul Santa Maria ]


This statement is only true of the || operator. For the && operator, if the first operand evaluates to false, then the second expression is not evaluated.
+Pie Number of slices to send: Send
I just passed the SCJP1.4 exam and wanted to post this appreciation note to thank everyone who helped me understand Java a little better. Without your help this personal achievement wouldn't be possible.
Being a smart alec beats the alternative. This tiny ad knows what I'm talking about:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 679 times.
Similar Threads
3D array Figure
TicTacToe Game..
Difference between
Mock exam question
unprecedented precedence
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 15:31:23.