断言(assert)语句一般用于程序不准备通过捕获异常来处理的错误。例如:账号交易时,对于支出的金额为正数(收入+支出=纯收入)或者收入的金额为负数,程序必须立即停止执行,同时发现错误,当正式收益时,就可以避开错误,但仍保留断言语句在程序中,之后再次调试时,可以重新启动断言也可以不断发现新的问题和解决语句。

        语法格式

  •  assert booleanExpression;                                          //   求值为booolean类型表达式
  •  assert booleanExpression:messageExpression;         //   求值为字符串类型的表达式

        作用条件:

  1. booleanExpression :
  • 值为true时,程序从断言语句处继续执行;
  • 值为false时,程序从断言语句处停止执行。

     2. booleanExpression:messageExpception :

  • 值为true时,程序从断言语句处继续执行;
  • 值为false时,程序从断言语句处停止执行,输出messageException表达式的值,提示用户 出现问题。

        启用/关闭断言语句

        当使用Java解析器直接运行应用程序时,默认关闭,通过使用 -ea 命令启用:

        java  -ea  Mainclass                                                                                                                   

例:

package Example7;

/**
 * @program: java_basic
 * @PackageName: Example7
 * @ClassName: Example7_6
 */
public class Example7_6 {
	public static void main(String[] args) {
		double[] in = {100, -100};
		double[] out = {200, -200};
		double insum = 0, outsum = 0;
		for (double income : in) {
			assert income > 0 : "收入不应为负数!";
			insum += income;
		}
		for (double outcome : out) {
			assert outcome < 0 : "支出不应为正数!";
			outsum += outcome;
		}
		double sum = insum + outsum;
		System.out.println("纯收入为:" + sum);
	}
}

非解析器运行结果:

开启断言,解析器运行结果:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐