Java: 断言(assert)

本文介绍了Java中的断言语句,用于在程序中检查预期条件,特别是在不希望通过异常处理错误的情况下。断言在条件为真时继续执行,为假时停止执行并可能输出错误信息。示例代码展示了如何在交易场景中使用断言确保收入和支出的正确性。通过-ea命令可以启用断言进行调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        断言(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);
	}
}

非解析器运行结果:

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

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值