assert statements come in 2 flavor.
the syntax of assert statement is :
assert
(condition);
or
assert
(condition):
(xxxx);
here
condition should be condition that will produce either true or false and
(xxxx) can be anything whose
string value is printed along with stack trace when assertion condition goes false.
so for first case : assert t = false; means assert false. remember an assignment statement returns the value being assigned , and in this case it returns false. so assert false; is a correct assert statement syntaxically.
the second case : assert false: true; here the assert false is sure to throw an assertion error. the second statement is 'true' which is a boolean literal and its string value is true so true is printed along with stack trace.remember you can use those expressions after the colon : that you can use with System.out.print( ) , that is which returns a string value.