int i = 0; boolean b = true; System.out.println(b && !(i++ > 0))
When I compile the above code I
b && !(i++ > 0)
i++ is post increment so value of i here is still 0
i++
0>0 false
0>0
b && 1 is true(since !(0) is 1)
b && 1
!(0)
So you are getting true.