aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Urgent...Operator Precedence Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Urgent...Operator Precedence" Watch "Urgent...Operator Precedence" New topic
Author

Urgent...Operator Precedence

Lalitha Chandran
Ranch Hand

Joined: Jul 03, 2003
Posts: 92
Hello,
I am totally confused with operator precedence.
It is said that expr++ has higher precdence than ++exprlink.
What does this mean?
Let me come down to 2 questions with examples
1.
int x = -1;
int y = ++x + x++;
Will the above line be executed as 1 + -1 = 0
or as 0 + 0 = 0. Because when i try to execute it i will always get the answer as 0 but i don't know which is first evaluated is it ++x or x++. please help!!!
2. Unary operators are evaluated in right to left order. What does this mean...
y = x+++x;
is it equivalent to (x++) + x or x + (++x) .
The answer is same in both cases.
I hope I am clear in my questions.
Thank you
Lalitha
Mika Leino
Ranch Hand

Joined: Jan 07, 2002
Posts: 56
As for your first question, the precedence has been discussed also in this thread.


Mika Leino<br />SCJP, SCWCD
Lalitha Chandran
Ranch Hand

Joined: Jul 03, 2003
Posts: 92
Hi Mika Leino
Thanks for the answer....
Just to confirm the answer the first one is executed as
0 + 0 = 0
Thanks
Lalitha
Mika Leino
Ranch Hand

Joined: Jan 07, 2002
Posts: 56
Yes, that is correct.
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
Why was this urgent?


Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
Lalitha Chandran
Ranch Hand

Joined: Jul 03, 2003
Posts: 92
I have my exams in a few days. And I was giving one of the mock exams and got this one wrong. And I got a bit tensed... :roll:
Gopal Shah
Ranch Hand

Joined: May 17, 2003
Posts: 65
Originally posted by Lalitha Chandran:
Hello,
2. Unary operators are evaluated in right to left order. What does this mean...
y = x+++x;
is it equivalent to (x++) + x or x + (++x) .
The answer is same in both cases.
I hope I am clear in my questions.
Thank you
Lalitha

In JLS, it is mentioned that "While translating Unicode stream into sequence of input elements(white spaces, comments and tokens), the longest possible translation is used at each step.
As such x+++x, will always be evaluated as (x++) + x
Chao Chihwai
Greenhorn

Joined: Sep 24, 2003
Posts: 5
About the first question,
I suggest you to read the artical in follow link,
it can help you a lot.
http://www.coderanch.com/t/190825/java-programmer-SCJP/certification/Array
[ October 02, 2003: Message edited by: Chao Chihwai ]
[ October 02, 2003: Message edited by: Chao Chihwai ]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Urgent...Operator Precedence