JAVA 断言

断言

     断言语句在调式代码阶段非常有用,断言语句一般用于程序不准备通过捕获异常来处理的错误,例如,当发生某个错误时,要求程序必须立即停止执行。在调试代码阶段让断言语句发挥作用,这样就可以发现一些致命的错误,当程序正式运行时就可以关闭断言语句,单仍把断言语句保留在源代码中,如果以后应用程序有需要调试,可以重新启用断言语句。

断言语句的语法格式

    使用关键字assert声明一条断言语句,断言语句有以下两种格式:

assert booleanExpression;
assert booleanExpression:messageExpression;

    例如,对于断言语句:

assert number >= 0;

    如果表达式number>=0的值为true,程序继续执行,否则程序立刻结束执行。

    在上述断言语句的语法格式中,boolean型的表达式,messageExpression可以是求值为字符串的表达式。

    如果使用

    assert booleanExpression;

    形式的断言语句,当booleanExpression的值是true时,程序从断言语句处继续执行;值是false时,程序从断言处停止执行。

    如果使用

    assert booleanExpression:messageExpression;

    形式的断言语句,当booleanExpression的值是true时,程序从断言语句处继续执行;值是false时,程序从断言处停止执行,并输出messageExpression表达式的值,提示用户出现了怎样的问题。

启用与关闭断言语句

    当使用Java解释器直接运行应用程序时,默认地关闭断言语句,在调试程序时可以使用-ea启用断言语句,例如:

Java –ea mainClass

    下面的例子中,使用一个数组存放着某学生5门课程的成绩,程序准备计算学生成绩的总和。在调试程序时使用了断言语句,如果发现成绩有负数,程序立即结束执行。程序调试开启断言语句运行效果如图所示,关闭断言语句运行效果如图所示。

public class Hello {
	public static void main(String args[]) {
		int [] score= {-120,98,89,120,99};
		int sum=0;
		for(int number:score) {
			assert number>=0:"负数不能是成绩";
			sum=sum+number;
		}
		System.out.println("总成绩:"+sum);
	}
}




猜你喜欢

转载自blog.csdn.net/abc1498880402/article/details/80686047