• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

precedence question

 
Mindy Hudson
Greenhorn
Posts: 28
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
class Question {
public static void main(String[] args) {
int x = 1;
boolean b1,b2,b3,b4;
b1=b2=b3=b4=true;
x=(b1 | b2 & b3 ^ b4) ? x++ : --x;
System.out.println(x);
}
}

When I run this code I get 1 as answer I thought The expression in braces give false and so --x will get executed and we will get 0.CAn someone explain.
 
James Baud
Ranch Hand
Posts: 60
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Precedence<pre>
AND & (highest)
XOR ^
OR | (lowest)
</pre>
x=(true | ((true & true) ^ true)) ? x++ : --x;
x=(true | (true ^ true)) ? x++ : --x;
x=(true | false) ? x++ : --x;
x=true ? x++ : --x;
------------------
~James Baud
Talk, does not cook rice. - Chinese Proverb
 
Mindy Hudson
Greenhorn
Posts: 28
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
thanks james.I thought all of them had same precedence.
 
Sam Wong
Ranch Hand
Posts: 133
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Mindy, here's a link that shows the order of precedence for all the operators with respect to each other.
http://www.isi.edu/~frank/javaOperatorPrecedence.html

[This message has been edited by Sam Wong (edited January 17, 2001).]
 
Mindy Hudson
Greenhorn
Posts: 28
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
sam the link was real useful
 
Vladimir Kositsky
Ranch Hand
Posts: 116
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
There is expression:
Ulcer______Unary
Addicts____Arithmetic and shift
Really_____Relational
Like_______Logical and bitwise
C__________conditional
A lot______Assignments
Hope it helps
[This message has been edited by Vladimir Kositsky (edited January 17, 2001).]
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic