This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
assume assertion is on
output: assert is on if at line 3(the expression on assert statement) i is returned as false,then why line4 get printed?
why line 2 matters here(which makes i true) regardless of line3(which returns false)?
i got this question from one of the page on facebook(whiz-lab).
I don't really understand the question. Line 2 makes the value of i as true, so there will be no assertion error and line 3 will not be executed. This is why line 4 is executed..
that means if line 2 is true then ,line 3 will not be exceuted
and if line 2 is false offcourse assertionerror will be thrown.
then what is the use of using line 3 for returning any value in assertion(assumption)
So, you can see that in augmented form if Expression1 is true, Expression2 is never called.
That is why, statement on Line 3 (which is part of Line 2 actually) is not called - if assertions are enabled in the code given in the question.