什么是断言机制?
java的编译阶段检查代码!
假设要进行如下的计算:
double y = Math.sqrt(x);
为了让程序健壮,你会先进行测试检查并抛出异常而不让x的值为负数。
if(x<0) throw new IllealArgumentException("x < 0");
但是,就算是测试结束了,以后实际运行时x的值不会小于0。这种测试代码会一直保留在你的程序中。如果程序中有太多的
检查,程序的运行就会慢好多。
如果在测试阶段会有这种检查,而在发布阶段能自动删除这些东西。该多好! 这就是断言机制。
断言的使用表达式:
assert 条件: 表达式
满足条件执行下行代码,不满足条件执行表达式
public class Test1 { public static void main(String[] args) { int i1 = 1; int i2 = 0; //满足条件不执行,不满足执行 assert i2!=0:"i2变量现在是" + i2; int a = i1/i2; } }
在Eclipse中如何开启断言?
window-->perference-->java-->installed JreS -->edit-->default Vm arguments : -ea