Assert是从JDK1.4才开始引入的
assertion 断言一般是在调试程序时使用,特别是使用Junit做单元调试时,更是大量使用assert.
assert有两种语法:
1.assert expre1
exp1必须是返回boolean.
例: public class AsertTest{
public static void main(String args[]){
System.out.println("Assert begin!");
assert false;
System.out.println("Assert end!");
}
assert为false时,会执出异常,System.out.println("Assert end!");没有执行.当把assert改为true时,程序顺利执行.
2.第二种语法:
assert exp1:exp2
当exp1为true的时候后面exp2被忽略,如果false的话,后面的表达式的结果会被计算出来并作为AssertionError得构造器参数
例:
public class AssertTest {
public static void main(String[] args) {
System.out.println("Assert begin!");
int i=0;
assert i == 0:"123456";
System.out.println("Assert end!");
}
}
运行后i == 0为true,而"123456"被忽略了.
还有就是,运行含有assert语句的java程序.由JDK默认状态是关闭的,所以必须用以下的语句编译执行. |