assert关键字

语法

java中,assert关键字是从java se 1.4引入的,java默认是不启动断言检查的(这个时候所有的断言语句都被忽略),想要开启则需输入启动参数-ea 或-enableassertions

它的语法很简单

1.assert<boolean表达式>

如果表达式为true,则程序继续执行

如果为false则抛出AssertionError,并终止执行(或者可以捕获这个error)

2.assert<boolean表达式>:<错误信息表达式>

如果表达式为true,则程序继续执行

如果为false,则抛出AssertionError,并输出<错误信息表达式>

实例

public class AssertFoo {
    public static void main(String args[]) {
        //断言1结果为true,则继续往下执行
        assert true;
        System.out.println("断言1没有问题,Go!");
 
        System.out.println("\n-----------------\n");
 
        //断言2结果为false,程序终止
        assert false : "断言失败,此表达式的信息将会在抛出异常的时候输出!";
        System.out.println("断言2没有问题,Go!");
    }
}
 
保存代码到C:\AssertFoo.java,然后按照下面的方式执行,查看控制台输出结果:
 
1、编译程序:
C:\>javac AssertFoo.java
 
2、默认执行程序,没有开启-ea开关:
C:\>java AssertFoo
断言1没有问题,Go!
 
-----------------
 
断言2没有问题,Go!
 
3、开启-ea开关,执行程序:
C:\>java -ea AssertFoo
断言1没有问题,Go!
 
-----------------
 
Exception in thread "main" java.lang.AssertionError: 断言失败,此表达式的信息将
会在抛出异常的时候输出!
        at AssertFoo.main(AssertFoo.java:10)

个人觉得这个关键字作用跟if有什么区别呢?。

猜你喜欢

转载自xiaoxiaoher.iteye.com/blog/2370328
今日推荐