目录
Java 中断言是如何工作的?
使用 Eclipse Java 断言的步骤
实现 Java 断言的示例
示例#3
在 Java 中使用断言的优点
结论
首页 Java java教程 Java断言

Java断言

Aug 30, 2024 pm 04:05 PM
java

在Java中,断言是确保或测试程序中所做假设的正确性的语句。这是在断言语句的帮助下完成的。当书面假设被执行时,它被认为是正确的。如果为 false,Java 虚拟机将抛出断言错误。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

使用断言的主要原因是:

  • 确认无法访问的代码是否可达。
  • 检查评论中的假设是否正确。
  • 确认一下,开关中的默认情况没有达到。
  • 调用方法后。
  • 检查对象的状态。

语法

下面是 Java 断言语句的语法。

assert expression;
登录后复制
assert expr1 : expr2;
登录后复制

可以根据需要使用任何语法。

Java 中断言是如何工作的?

前面已经提到,assert 可以写成两种形式。

  • 语法断言表达式;用于测试布尔形式的表达式。如果特定表达式为 false,程序将通过抛出 AssertionError 来终止。与正常异常不同,这些错误在运行时被禁用。
  • 但是,语法断言 expr1: expr2;它用于程序有一些额外信息可以帮助诊断某些故障的情况。
  • 与 Java 中未捕获的异常类似,断言错误通常在堆栈跟踪中与文件以及引发异常的行号一起标记。

尽管这些是断言的主要优点,但在某些情况下不应使用断言。他们是:

  • 错误消息替换。
  • 公共方法中的参数检查
  • 命令行参数。
注意:在编译代码之前,请确保断言已启用。

语法

java –ea programname
登录后复制

或者

java –enable assertions programname
登录后复制

使用 Eclipse Java 断言的步骤

在 Eclipse 中,可以使用以下步骤完成。

第 1 步: 选择运行配置。

Java断言

第 2 步:转到左侧面板并选择 Java 应用程序,然后右键单击它。

Java断言

第 3 步:选择新配置并在 VM 参数上键入 –ea。完成后,单击。

Java断言

类似地,可以使用下面给出的语法禁用断言。 Java –da 程序名

实现 Java 断言的示例

现在,让我们看一些断言的示例程序,以便清楚地了解它。

示例#1

检查特定值是否大于 20 的 Java 程序。

代码:

class AssertionExample{
public static void main( String args[] ){
int val = 14;
assert val>=20:" Value is not valid";
System.out.println("The given value is: "+ val);
}
}
登录后复制

输出:

  • 执行代码时,会显示消息“给定值为 14”。

Java断言

  • 可以清楚地看到这里没有检查断言,因为值大于20就不检查。
  • 为了启用断言,必须在编译前设置-ea。为此,请执行注意中提到的步骤。
  • 如果再次尝试运行代码,可以清楚地看到抛出了 AssertionError,因为值小于 20。

Java断言

示例#2

检查特定用户输入值是否大于 20 的 Java 程序。

代码:

import java.util.Scanner;
class AssertionExample{
public static void main( String args[] ){
Scanner <u>sc</u> = new Scanner( System.in );
System.out.print("Enter a number to check assertion ");
//store the input value to the variable <u>val</u>
int val = sc.nextInt();
//assertion check whether the input value is greater than 20
assert val>=20:" Value is not valid";
System.out.println("The given value is: "+ val);
}
}
登录后复制

输出:

  • 执行代码时将要求用户输入一个数字。在下面的结果中,数字 13 作为输入给出。由于小于 20,因此抛出了断言错误。

Java断言

  • 同时,当给出的值大于 20 时,不会抛出错误,并且会显示消息。

Java断言

示例#3

Java 程序,用于检查一周中有多少天。

代码:

class AssertionExample {
//main method
public static void main(String args[]) {
//declare a string days
String[] days = {" Monday " , " Holiday " , " Saturday " , " Tuesday " , " Wednesday " , " Sunday " , " Thursday " , " Friday " };
//set the assertion as 7
assert days.length==7 : "7 days are present in a week, Your input is wrong";
//print the line below
System.out.println("There are " + days.length + "  days in a week");
}
}
登录后复制

输出:

  • 执行代码时,会抛出断言错误,因为一周的天数为 7,而给出的字符串输入包含更多内容。

Java断言

  • 让我们从输入值中删除 Holiday,看看输出是什么。

Java断言

是的。当断言值满足输入值时,将打印该行。

在 Java 中使用断言的优点

以下是使用断言的主要优点。

  • 有效检测和纠正错误。
  • 样板代码将被删除,并有助于创建可读的代码。
  • 执行时间不会受到影响,因为它会在运行时自动删除。
  • 快速错误检测和纠正。
  • 代码优化和重构是为了正确运行而进行的。

除了上述几点之外,以下是学习断言时必须了解的要点。

  • Java 中的断言是在 JDK 1.4 版本中引入的
  • Assert 是用于实现断言的关键字。
  • 可以在运行时借助相应语法来启用和禁用断言。
  • 尽管断言补充了异常,但它并不能取代异常。
  • 即使有助于条件验证,它也不会取代单元测试。
  • 切勿使用断言来验证公共方法的参数或参数。

结论

Java 断言是检查特定条件的真实性的语句。它通常用于软件开发过程中的测试。此外,它们与某些布尔表达式一起使用。本文从断言的语法、工作原理、优缺点、实例等几个方面进行了详细的讲解。

以上是Java断言的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Java 中的完美数 Java 中的完美数 Aug 30, 2024 pm 04:28 PM

Java 完美数指南。这里我们讨论定义,如何在 Java 中检查完美数?,示例和代码实现。

Java中的Weka Java中的Weka Aug 30, 2024 pm 04:28 PM

Java 版 Weka 指南。这里我们通过示例讨论简介、如何使用weka java、平台类型和优点。

Java 中的史密斯数 Java 中的史密斯数 Aug 30, 2024 pm 04:28 PM

Java 史密斯数指南。这里我们讨论定义,如何在Java中检查史密斯号?带有代码实现的示例。

Java Spring 面试题 Java Spring 面试题 Aug 30, 2024 pm 04:29 PM

在本文中,我们保留了最常被问到的 Java Spring 面试问题及其详细答案。这样你就可以顺利通过面试。

突破或从Java 8流返回? 突破或从Java 8流返回? Feb 07, 2025 pm 12:09 PM

Java 8引入了Stream API,提供了一种强大且表达力丰富的处理数据集合的方式。然而,使用Stream时,一个常见问题是:如何从forEach操作中中断或返回? 传统循环允许提前中断或返回,但Stream的forEach方法并不直接支持这种方式。本文将解释原因,并探讨在Stream处理系统中实现提前终止的替代方法。 延伸阅读: Java Stream API改进 理解Stream forEach forEach方法是一个终端操作,它对Stream中的每个元素执行一个操作。它的设计意图是处

Java 中的时间戳至今 Java 中的时间戳至今 Aug 30, 2024 pm 04:28 PM

Java 中的时间戳到日期指南。这里我们还结合示例讨论了介绍以及如何在java中将时间戳转换为日期。

Java程序查找胶囊的体积 Java程序查找胶囊的体积 Feb 07, 2025 am 11:37 AM

胶囊是一种三维几何图形,由一个圆柱体和两端各一个半球体组成。胶囊的体积可以通过将圆柱体的体积和两端半球体的体积相加来计算。本教程将讨论如何使用不同的方法在Java中计算给定胶囊的体积。 胶囊体积公式 胶囊体积的公式如下: 胶囊体积 = 圆柱体体积 两个半球体体积 其中, r: 半球体的半径。 h: 圆柱体的高度(不包括半球体)。 例子 1 输入 半径 = 5 单位 高度 = 10 单位 输出 体积 = 1570.8 立方单位 解释 使用公式计算体积: 体积 = π × r2 × h (4

如何在Spring Tool Suite中运行第一个春季启动应用程序? 如何在Spring Tool Suite中运行第一个春季启动应用程序? Feb 07, 2025 pm 12:11 PM

Spring Boot简化了可靠,可扩展和生产就绪的Java应用的创建,从而彻底改变了Java开发。 它的“惯例惯例”方法(春季生态系统固有的惯例),最小化手动设置

See all articles