int z = 5;
if(++z > 5 || ++z > 6) z++; // z = 7 after this code
how does the output comes out to be z=7
in the if condition z becomes 6
but as z++ is post increment it should print(return) 6 and get incremented to 7..
so the output should be 6...??
it must be a silly doubt..but please help me..
thanks in advance..
As you see || is a short circuit operator.
So it first it test first condition and if it found it true it didn't execute next one which is the case here.
In ++z>5 ,z first incremented and then compared so it becomes
6>5 which is true and the controls comes to z++ which increment z to 7 and return it.
If you print z like this System.out.print(z) //z=7
If you print z like this System.out.print(z++) //z=6
Roshan Rai wrote:i got a doubt in the following code
int z = 5;
if(++z > 5 || ++z > 6) z++; // z = 7 after this code
how does the output comes out to be z=7
in the if condition z becomes 6
but as z++ is post increment it should print(return) 6 and get incremented to 7..
so the output should be 6...??
it must be a silly doubt..but please help me..
thanks in advance..
Where in the code is this print() that you are referring to?