断言——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,程序会自动弹出
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)
断言成功