Assert
一、断言的作用:
主要是用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出。
当软件正式发布后,可以取消断言部分的代码。
二、断言的语法:
语法1:assert expression; //expression代表一个布尔类型的表达式,如果为真,就继续正常运行,如果为假,程序退出
语法2:assert expression1 : expression2;
其中expression1是一个布尔值,来判断断言是否成功.Expression2则是断言失败时输出的失败消息的字符串.
个人理解:Assert,像一个if语句,如果结果和预期的结果一致,即结果为真,程序会继续运行;如果结果和预期结果不符,那么程序会抛出一个系统级错误(不是异常),并且终止程序运行。
但是要比if 好用,避免了程序里出现很多if嵌套判断语句。
三、栗子:
/**
* 断言:用于软件的开发和测试的
* 注:删去断言的那部分语句后,程序的结构和运行不应该有任何改变,千万不要把断言当成程序中的一个功能来使用
* 开启断言 :在配置启动参数的地方(在VM arguments输入) 加上-ea(enableassertion) ,
* 禁止是-da((disenableassertion))
* @author wx 2019-03-13
*/
public class WuAssertTest {
public static void main(String[] args) {
int i = 5;
String str = "abc";
assert i == 5;
System.out.println("如果断言为真,会打印这句话!");
assert "abc1" == str : "第一个表达式假,则会执行这个表达式,一般用来输出error信息!";
}
运行结果如下:
四、开启断言:
eclipse 默认是关闭断言的。dubug 和run模式需要单独开启
如下图所示:参数 -ea 是开启,-da是关闭