断言——assert

        专门用来进行代码测试和纠错,以提高程序的可靠性,它可以被应用到程序中的任何位置,也被称为运行断点,如果断言为真,运行正常,否则,这个断言异常将被JVM抛出,程序停止运行,并且打印这个异常信息。


        语法:

assert booleanExpression [: message];

              assert——java关键字 、booleanExpression——布尔代数表达式,为声明的断言。[:message]——可选项,需要打印的字符串异常信息。断言以分号结束


        如:assert (age>18) : "Age must be greater than 18";



在eclipse中设置断言语句状态:Run菜单..Arguments 在VM Arguments窗口中,输入:-ea或者-enableassertions , Apply , Run  需要关闭删除即可

        在TextPad中设置断言 Configure菜单 Preference,Tools,Run Java Application在Paraments窗口条中楷书输入-ea(注意,在-ea中必须流一个空格)


        question:如何在MyEclipse中配置断言


在MyEclipse中启动assert(断言)

依次进入在MyEclipse8的菜单项Window -> Preferences -> Java -> Compiler -> Compliance and Classfiles

断言在java的JDK1.4版本中添加进来,JVM默认assertion的功能是关闭的.

这个设置告诉编译器识别和允许断言语句,但是还没有开启断言。

接下来,进入菜单项Window -> Preferences -> Java -> Compiler -> Compliance and Classfiles,并且设置:

Compiler Compliance Level: 1.6

Use default compliance settings: unchecked

Generated .class files compatibility: 1.6

Source compatibility: 1.6

Disallow identifiers called 'assert': Error

最后在Run -> Run... -> Arguments菜单项的VM arguments区域,加上断言开启的标志

-enableassertions或者-ea就可以了

或命令行编绎执行:

java -ea 程序名


注:找不到Arguments可以在运行Run时候按住Ctrl,程序会自动弹出

MyEclipse 断言(assert)设置_myeclipse



public static void main(String[] args) {

        int a=1,b=2;

        assert true;

        System.out.println("断言成功");

        assert 4==a+b:"断言失败" ;       

        System.out.println("done");   

    }

结果:

Exception in thread "main" java.lang.AssertionError: 断言失败

at com.demo.test.Test.main(Test.java:69)

断言成功