Javatpoint标志
Javatpoint标志

Java断言示例

在本节中,我们将学习Java中的断言操作及其相应的示例。我们还将学习相应发生的断言类型。

Java中的断言是什么?

关键字“assert”在Java中执行断言操作。断言的概念允许程序员验证在程序执行期间所采取的假设。换句话说,该过程允许检查和验证在程序中实际定义的假定的质量和正确性。关键字“assert”是在Java 1.4版本中引入的。在Java编程语言本身发明的最初时代,关键字是在语言中被提出的。

断言的概念主要适用于开发软件而不是测试的人。所以,我们可以说这个概念对于开发者来说是非常重要和关键的。对于断言的每次执行,开发人员都希望它为真。在其他情况下,如果断言失败并返回false,则编译器显示一个表示“AssertionError”的错误。关键字“assert”还使代码更具可读性,并有助于代码优化。" assert "关键字通常被赋予一个布尔表达式,该表达式可以为false或true,因为断言操作的意图与布尔值匹配。

声明和使用assert关键字(类型1)的语法:

assert关键字可以以两种不同的方式使用,上面已经讨论过了。第二种方法处理两个表达式,其中都使用assert关键字声明,使表达式彼此相关。

声明和使用assert关键字(类型2)的语法:

我们如何在Java中启用和使用断言?

为了在Java中使用断言,我们不需要导入任何包或使用任何库,因为所有的运行都只需要一个关键字,即“断言”。因此,如果我们想在Java中使用并启用断言,就必须使用一个命令行参数来启用关键字“assert”。命令行参数是" -ea "或" -enableassertions",其中第一个命令行参数是第二个命令行参数的缩写形式。

每次执行后,默认情况下将禁用断言操作,禁用关键字的过程由JVM(即Java虚拟机)完成。这样做是为了在较新的JVM版本出现命名冲突时获得优先保护。因此,在离开之前,JVM会自动禁用断言验证,以便在执行下一个程序期间不会引起任何问题。

还可以为指定的类和包启用断言。例如,让我们考虑我们有一个包含主类“Demo”的程序,其文件名为“Demo”。为了只对包含类Demo的程序启用断言,我们可以使用命令行参数启用断言。类似地,可以通过使用命令行参数" -da "或" - dissableassertions "禁用断言。通过禁用指定类、文件、包等的断言,还可以限制指定的类、包和文件使用断言。通过这种方式,可以在Java中为断言启用和禁用。

命令行参数在Java中启用断言:

(或)

命令行参数,为Java中的特定类或特定文件启用断言:

(或)

在Java中禁用断言的命令行参数:

(或)

命令行参数禁用Java中特定类或特定文件的Assertion:

(或)

为什么我们要在Java中使用断言?

任何任务要被完美地处理和执行,程序员必须知道并且必须非常确定他在整个程序中所做的假设。如果所有的假设都是错误的,整个程序就会被淘汰。因此,为了实现这一点,断言必须用于程序的各个部分。

AssertionError处理:

AssertionError是一种未检查的错误。因此,使用断言的方法尤其不需要声明它们,并且进一步调用代码不应该试图捕获AssertionError。由于AssertionError是一个未检查的错误,它的类扩展了error,而error扩展了Throwable。与程序中的其他异常不同,断言通常在运行时处理。这些异常表示不可恢复的情况。因此,绝对不能尝试恢复或处理AssertionError。

使用断言时需要注意的事项:

程序员可以禁用断言。我们永远不应该假设它们将在程序执行期间被包括在内。因此,程序员在代码中使用断言时必须牢记某些事情。他们是谁,

  1. 在使用断言时,必须始终检查空值和空可选项。
  2. 使用未检查的异常(如IllegalArgumentException或NullPointerException)来检查公共方法的输入,而不是使用断言。
  3. 断言可用于编写的代码永远不会执行的地方,例如switch语句的默认大小写或在永不结束的循环之后。
  4. 不要在断言条件中调用方法。将从方法获得的结果赋值给局部变量,并将该变量与assert关键字一起使用。
  5. 断言可用于检查方法开头的条件。
  6. 开发人员代码中提供的私有参数不应该使用assert进行检查,因为开发人员自己可能想检查他对参数的假设。
  7. 断言不应该用于程序的命令行参数。

演示断言的Java程序:

输出:

人的年龄是15岁

在上面的程序中,我们在两个表达式上使用了assert关键字,即18和“您不能拥有许可证”。因此,断言通过比较相关表达式来检查我们的假设是真还是假。另外,正如我们上面讨论的那样,assert不包括在执行中。最后,通过确定这个人的年龄为15岁,我们得到了预期输出。

结论:

在本文中,我们了解了Java中的Assert关键字并不是Java编程语言的一个常见特性。它有助于从程序中删除样板代码,并使代码对用户来说更易于阅读和方便。在代码中使用断言有助于在早期阶段识别错误,这有助于有效地开发程序。最后,我们应该始终记住,默认情况下不启用断言。它们应该由程序员自己手动启用或禁用。否则,它们将在代码中使用时执行。







Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助他人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


B.Tech / MCA






Baidu
map