1)断言使用
在JDK1.4中,Java语言引入一个新的关键字: assert。 该关键字有两种形式:
assert 条件
以及
assert 条件:值或表达式
这两种形式都会对条件进行评估,如果结果为false则抛出AssertionError。
在第二种形式中,值或表达式的值会传入AssertionError的
构造器并转成一个消息字符串,成为要显示的错误信息
例如:
要断言x不是负数,只需要使用如下简单的语句:
assert x >= 0;
或者你可以将x的值传递给AssertionError对象,从而可以在报错时候显示:
assert x >= 0 : x;
或者
assert x >= 0 : "x的值不符合条件:x="+x;
2. 断言内容代码编译
因为assert在JDK1.4中是一个新的关键字,因此在使用时需要告诉编译器你编译所使用jdk的版本号。
javac -source 1.4 MyClass.java
在jdk的后续版本中,对断言的支持成为默认特性(JDK5.0以上使用时就不需要这个编译了,因为默认就支持的)。
3. 断言内容代码执行
默认情况下,断言是关闭的。要通过-enableassertions或者-ea选项来运行程序以打开断言:
java -enableassertions com.wsj.ch07.Xxxx
java -ea com.wsj.ch07.Xxxx
打开或关闭断言功能,决定了代码在执行时是否会跳过那些和断言相关的代码.因此断言并不会降低程序运行速度。
注意:使用eclipse运行代码的时候也是可以传参数的(包括俩种参数)
例如:
java -xx com.wsj.ch07.Test yy
xx是给JVM传的参数 yy是给Test类的main方法传的参数