Hello lakshmi,
I have tried your code like this way. its working fine and no problem of operator precedence. Let me explain you a little
x>3 returns false
y++<2 returns false
mone() returns true
and if statement looks like this
False && False | true
Now according to
java presedence rule | operator has the higher precedence so False | true returns true
and if statment looks like this after solving | operator
False && true
now result is false and value of x will not be print.
Please reply if there is still any confusion.
Thanks