File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Operators and assignments Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Operators and assignments" Watch "Operators and assignments" New topic
Author

Operators and assignments

shatabdi
Greenhorn

Joined: Feb 11, 2000
Posts: 6
This is a program I saw in Jarowski's book
class Sub
{
public static void main(String ards[])
{
int x = 0;
boolean b1, b2, b3, b4;
b1 = b2 = b3 = b4 = true;

x = ( b1 | b2 & b3 ^ b4) ? x++ : --x;
System.out.print(x);
}
}
The o/p is 0(zero). Can anybody pls explain me why ?


Shatabdi Choudhury<BR>shatabdi@bigfoot.com
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
x = (b1|b2&b3^4) ? x++ : --x;
The expression can be solved in the following manner:
Using the following operator preceence:
1> & AND
2> ^ XOR
3> | OR
x = (true | ( true & true ) ^ true) ----- 1
x = (true | (true ^ true ) ) -------------2
x = (true | false) -----------------------3
x = true
x evaluates to true so the answer is 0.
Please correct if I am wrong!
Regards,
Milind
shatabdi
Greenhorn

Joined: Feb 11, 2000
Posts: 6
Hi Milind,
The expression x = (b1|b2&b3^b4) ? x++ : --x; means
if(b1|b2&b3^b4)
x = x++;
else
x = --x;
System.out.print(x)
Now the boolean codn (b1|b2&b3^b4) returns true. So x = x++ should execute. My question is then x should be 1 instead of zero(because of x++)in the o/p. I just don't know why it is showing zero !
shatabdi
maha anna
Ranch Hand

Joined: Jan 31, 2000
Posts: 1467
See this line CAREFULLY.
x=x++; //x = 0[1] which means the LHS is assigned a value 0 which is happened to be x itself. x is incremented and then again assigned to the pre-increment value.
shatabdi
Greenhorn

Joined: Feb 11, 2000
Posts: 6
Thanks Maha Anna.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Operators and assignments