(Java)断言

社会主义新天地 提交于 2020-01-15 15:01:52

断言就是肯定某一个结果的返回值是正确的,如果最终此结果的返回值是错误的,则通过断言检查肯定会提示错误信息

断言格式:

assert boolean表达式;
assert boolean表达式:详细信息

如果以上 boolean 表达式的结果为 true,则什么错误信息都不会提示;
如果为 false,则会提示错误信息;
如果没有声明详细信息的描述,则系统会使用默认的错误信息提示方式。

public class Test{
    public static void main(String[] args) {
        int x[] = {1,2,3};//定义一个数组,长度为 3
        assert x.length ==0;//此处断言数组长度为0,肯定是错误的
    }
}

在这里插入图片描述
这个程序中,数组 x 的长度是不可能为 0 的,所以此处的断言结果是错误的,但此时运行程序并不会得到任何的结果,因为 Java 在设计此关键字时,考虑到了系统的作用,为了防止某些用户使用 assert 作为关键字,所以在程序正常运行时断言并不会起任何作用,如果要想让断言起作用,需要在 Java 运行时加入以下参数:

-enableassertions 也可以简写为 -ea
编译程序:javac Test.java
验证程序:java -ea Test

如果要想显示自己的错误信息,可以使用另外一种断言声明格式:

public class Test{
    public static void main(String[] args) {
        int x[] = {1,2,3};//定义一个数组,长度为 3
        assert x.length ==0:"数组长度不为 0";//此处断言数组长度为0,肯定是错误的
    }
}

注意:
(1)虽然断言返回的是 Boolean 值,但是并不能将其作为条件判断语句
(2)断言虽然有检查运行结果的功能,但是一般开发中并不提倡使用断言

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!