assert 断言使用

assert断言的正确使用

一般来说使用断言多于测试,但是如何测试以及正确使用断言呢!这里做了一个小小的测试!一般来说开发工具会默认关闭断言,这里需要手动开启,如图:
assert 断言使用
assert 断言使用
在VM options输入 -ea字样,点击ok就会生效,以下是代码测试

public static void main(String[] args) {
        int i = 2;
        switch (i) {
            case 1:
                System.out.println("正常");
                break;
            case 2:
                System.out.println("正常");
                break;
            default:
                assert false:"i的值无效";       //如果i的值不是你想要的,程序就警告退出
        }
        System.out.println("如果断言正常,我就被打印");
    }

上图代码中可以看到i值为2,是程序当中所需要的数值,如果实际使用当中变量i值为3时则是不是所需要的数值,在一定的程序当中可能就会使程序出错,这样就要测试,我们先来理解一下什么是assert

assert

编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。

assert的最终结果为true和false,如果是true,程序不会有什么影响,该怎么样怎么样,如果是false则抛出异常,
assert 断言使用
抛出异常之后后面的程序将不会运行!

这是我对断言的理解,如果有什么不对的地方可以讨论探究!