Dotcpp  >  编程教程  >  Java内部类与异常类  >  Java断言语句

Java断言语句

点击打开在线编译器,边学边练

如果程序不准备通过捕获异常来处理的错误,这时该怎么办呢?我们可以通过断言语句来解决。


断言语句在调试代码阶段非常有用,且一般用于程序不准备通过捕获异常来处理的错误。


例如:当发生某个错误时,比如,当账号交易时,支出金额为正数或收入金额为负数,此时要求程序必须立即停止执行。在调试代码阶段让断言语句发挥作用,这样就可以发现一些致命的错误,当程序正式运行时就可以关闭断言语句,但仍把断言语句保留在源代码中,如果以后应用程序又需要调试,可以重新启用断言语句。


1.断言语句的语法格式

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

assert booleanExpression; //求值为boolean类型的表达式
assert booleanExpression:messageException; //求值为字符串类型的表达式


2.作用条件

1)booleanExpression

当值为true时,程序从断言语句处继续执行。

当值为false时,程序从断言语句处停止执行。


2)booleanExpression:messageExpception

当值为true时,程序从断言语句处继续执行。

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


例如,对于断言语句:

assert i >= 0;

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


3.启用与关闭断言语句

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

java -ea mainclass


例如:

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


运行结果如下:

总成绩:260



本文固定URL:https://www.dotcpp.com/course/815

Java教程
第一章 Java入门
第二章 Java运算符和表达式
第三章 Java流程控制
第四章 Java类和对象
第五章 Java子类与继承
第六章 Java接口与实现
第七章 Java内部类与异常类
第八章 Java常用实用类
第九章 Java输入输出流
第十章 Java数组
Dotcpp在线编译      (登录可减少运行等待时间)