assert有什么作用

断言(assert)作为一种软件调试的方法,提供了一种在代码中进行正确性检查的机制。

主要作用:是对一个boolean表达式进行检查,一个正确运行的程序必须保证这个Boolean表达式的值为true,若表达式的值为false,则说明程序已处于一种不正确的状态下,系统需要提供警告信息并且退出程序。

在实际开发中assert主要用于保证程序的正确性,通常在程序开发和测试时使用,为了提高运行效率,在软件发布后,assert检查默认是关闭的。

public class Test{
	public static void main(String args[]){
		assert 1+1==2;
		System.out.println("assert1 ok");
		assert 1+1==3:"assert faild,exit";
		System.out.println("assert2 ok");
}
}

上述代码正常Javac Test .java运行

assert1 ok
assert2 ok

对于上述代码如果使用java-ea

assert1 ok
Exception in Thread "main"java.lang .AssertError:assert faild,exit

assert 的应用范围很多,主要包括1、检查控制流;2、检查输入参数是否有效;3、检查函数结果是否有效;4、检查程序不变量

虽然assert的功能与if判断类似,但二者存在着本质的区别,一不小心用assert控制着业务逻辑,调试结束后一旦取消assert就会修改程序的正常逻辑。

你可能感兴趣的:(学习笔记啊,JAVA)