aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Short-Circuit Logical Operators 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 "Short-Circuit Logical Operators" Watch "Short-Circuit Logical Operators" New topic
Author

Short-Circuit Logical Operators

sonali sawant
Greenhorn

Joined: Oct 24, 2005
Posts: 13
public class Test
{
public static void main(String [] args)
{
int x= 0;
int y= 10;
for (int z = 0; z < 5; z++)
{
if (( y-- > 7 ) || (++x > 2))
{
y--;
}
}
System.out.println(y + " " + x);
}
}

Answer is 2 3

Can anyone explain output of this questions.It is from K&B Master Exam-1
wise owen
Ranch Hand

Joined: Feb 02, 2006
Posts: 2023
for (int z = 0; z < 5; z++)
{
if (( y-- > 7 ) || (++x > 2))
{
y--;
}
}

z=0:
(y-- > 7) is true and do y--; //x =0 y =8
z=1:
(y-- > 7) is true and do y--; //x =0 y =6
z=2:
(y-- > 7) is false and continue to evalute (++x > 2) which is false //x=1 y=5
z=3:
(y-- > 7) is false and continue to evalute (++x > 2) which is false //x=2 y=4
z=4:
(y-- > 7) is false and (++x > 2) is true then doing y--; //x=3 y=2
sonali sawant
Greenhorn

Joined: Oct 24, 2005
Posts: 13
Thanks.Now i understood it.Thanks again.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Short-Circuit Logical Operators