Java断言语句

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

断言语句的语法格式

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

 

assert booleanExpression;

assert booleanExpression:messageException;

例如,对于断言语句:

assert number>=0;

如果表达式number>=0 的值为 true,程序继续执行,否则程序立刻结束执行。
在上述断言语向的语法格式中,booleanExpression 必须是求值为 boolean 型的表达式,messageException可以是求值为字符串的表达式

如果使用

assert booleanExpression;

 

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

 如果使用

assert booleanExpression:messageException;

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

启用与关闭断言语句

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

java -ea mainclass

例子:

import java.util.Scanner;

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

 

 

posted @ 2022-05-06 13:21  GK-SZero  阅读(115)  评论(0编辑  收藏  举报