断言(assertion)
assert 表达式;
assert 表达式:信息;
若表达式不为true则程序会产生异常并产生错误信息
例:
public Assertion{
public static void main(String[] args){
assert operation(3,4)==5:"算法错误";
}
public static double operation(double x,double y)
{
return Math.sqrt(x*x + y*y);
}
}
注:只有在jdk1.4及以上版本中才可以使用断言。
在早期的 jdk版本(1.4)中编译时要通过-source选项来指明版本,如:
javac -deprecation -source 1.4 -classpath.Assertion.java
在运行时要使assert起作用,需要使用选项-ea(-enableassertions),如:
java -ea -classpath.Assertion
Junit
大多数集成开发工具都提供了对Junit的支持。
在Eclipse中:
1.项目右键-New-Junit Test Case
2.项目右键-Run as-Junit Test
在NetBeans中:
1.项目右键-新建-Junit测试
2.运行-测试/快捷键Alt+F6
/*测试中常用的语句
fail(信息);//程序出错
assertEquals(参数1,参数2);//程序需要保证两个参数相等
assertNull(参数);//参数需为NULL
*/
//assertEquals示例
assertEquals(a.sum(0,100),100);//测试其中数据结果是否正确(选几组即可证明)
assertEquals(a.sum(1,2),a.sum(2,1));//测试是否满足交换律
调试(debug)
一般逻辑错误无法由编译器发现,就需要通过调试
1.项目-右键-debug as-java application(若需命令行参数则选择debug configurations)
2.打开调试视图(debug perspective)结束后再点Java perspective就可以回去了
调试的三种手段:断点(breakpoint)、跟踪(trace)和监视(watch)
切换断点:Eclipse:Ctrl+Shift+B(和搜狗热键冲突) NetBeans:Ctrl+F8
跟踪:
操作 | Eclipse | Netbeans |
---|---|---|
逐语句执行 | F5 | F7 |
逐过程执行 | F6 | F8 |
跳出函数 | F7 | Ctrl+F7 |
运行到光标处 | Ctrl+R | F4 |
监视:
即时监视:鼠标指向变量
快速监视:右键-inspect
添加监视:右键-watch