`
fatedgar
  • 浏览: 134471 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

assert(断言)杂谈

阅读更多

assertion(断言)是jdk1.4才开始支持的新功能,主要在开发和测试时开启。在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,assert将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。

测试:

(在main方法中写入以下代码)

int i=0;
for(i=0;i<5;i++){
   System.out.println(i);
}
--i;
assert i==5;

 在eclipse中运行这段代码发现没什么反应,查询资料才知道eclipse中assert默认是关闭的,开启方法如下:

1.Run > Run Configurations > Arguments页签 > VM arguments文本框中加上断言开启的标志:-enableassertions 或者-ea 就可以了,如果是-da就是关闭assert;
2.在myEclipse中,Windows -> Preferences ->Java ->Installed JREs ->点击正使用的JDK ->Edit ->Default VM Arguments文本框中输入:-ea

 

 

在MyEclipse中发现assert编译不过去,测试了下网络上给的方法发现还是不行,暂未解决。网络上的方法如下:

 

MyEclipse 断言(assert)设置在MyEclipse中启动assert(断言)依次进入在MyEclipse8的菜单项Window -> Preferences -> Java -> Compiler -> Compliance and Classfiles
断言在java的JDK1.4版本中添加进来,JVM默认assertion的功能是关闭的.
这个设置告诉编译器识别和允许断言语句,但是还没有开启断言。
接下来,进入菜单项Window -> Preferences -> Java -> Compiler -> Compliance and Classfiles,并且设置:
Compiler Compliance Level: 1.6
Use default compliance settings: unchecked
Generated .class files compatibility: 1.6
Source compatibility: 1.6
Disallow identifiers called 'assert': Error
最后在Run -> Run... -> Arguments菜单项的VM arguments区域,加上断言开启的标志
-enableassertions 或者-ea 就可以了或命令行编绎执行了

 

 

 

分享到:
评论

相关推荐

    深入探讨C++中的引用和ASSERT断言

    ### 深入探讨C++中的引用和ASSERT断言 #### 引用 **引用**是C++中的一项重要特性,它本质上是一个已存在的变量的别名。这意味着当我们通过引用访问一个变量时,实际上就是在直接操作那个变量。理解引用的工作原理...

    VC中如何使用ASSERT断言

    在本篇文章中,我们将深入探讨如何在VC中使用`assert`断言,以及它在软件开发中的作用。 `assert`宏定义在`&lt;assert.h&gt;`头文件中,主要用于测试假设条件。当程序运行到含有`assert`的语句时,如果表达式的值为零(即...

    python assert的用处示例详解

    使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要...

    Java断言(assert)

    Java断言(assert) Java断言是一种 debugging 机制,允许开发者在Java程序中添加检查点,以确保程序的正确性。断言可以在开发和测试阶段使用,以确保程序的正确性和可靠性。 Java断言的历史 Java断言是从 JDK 1.4 ...

    业务异常提示处理 springboot+Assert(自定义断言)

    本项目“业务异常提示处理 springboot+Assert(自定义断言)”着重于利用Spring Boot的特性来构建高效、易维护的业务逻辑,并通过自定义断言提升代码的可读性和可维护性。下面我们将详细探讨这些知识点。 1. **Spring...

    函数重载、assert断言1

    C++11引入了`static_assert`,这是一种编译期断言,它在编译阶段检查表达式的真值。如果表达式为假,编译器会在编译时报告错误,附带用户提供的错误消息字符串。这样可以在代码早期捕获错误,避免了运行时的额外开销...

    Node.js assert断言原理与用法分析

    本文实例讲述了Node.js assert断言原理与用法。分享给大家供大家参考,具体如下: node.js官方API中文版 http://nodeapi.ucdok.com/#/api/assert.html assert 模块主要用于编写程序的单元测试时使用,通过断言可以...

    1-assert(断言).pdf

    在Node.js中,`assert`模块提供了丰富的断言方法来帮助开发者确保程序的正确性。以下是对`assert`模块中各个方法的详细说明: 1. `assert(value[, message])`: 这是最基础的断言方法,它检查给定的`value`是否为真...

    Python3 assert断言实现原理解析

    ### Python3 assert断言实现原理 在Python编程中,`assert`语句是一种非常有用的调试工具,它可以在开发阶段帮助开发者发现程序中的错误,并提供反馈。`assert`语句的基本用法是:如果指定的表达式计算结果为`False...

    python3 assert 断言的使用详解 (区别于python2)

    下面将详细解释Python 3中的`assert`断言以及它与Python 2的区别。 ### Python 3中的`assert`语句 `assert`语句的基本语法是: ```python assert 条件, "错误信息" ``` 这里,`条件`是你期望为真的表达式,如果...

    断言assert函数,C语言assert函数完全攻略.docx

    断言assert函数在C语言中被定义为宏的形式,而不是函数,其原型定义在&lt;assert.h&gt;文件中。 断言assert函数的原理是通过检查表达式expression的值来决定是否需要终止执行程序。如果表达式expression的值为假(即为0)...

    eclipse如何开启断言assert

    在Java编程中,断言(Assert)是一种强大的调试工具,它允许程序员在代码中插入条件检查,以确保程序在特定点的行为符合预期。Eclipse作为流行的Java开发集成环境,提供了方便的方式来启用或禁用断言功能。以下是...

    C语言断言assert的用法.pdf

    其中expression为条件表达式,如果该表达式为假(即为零),则触发assert断言错误,否则程序正常执行。通常,assert用于检查函数参数的有效性、验证逻辑运算的结果等,它通常与#ifdef DEBUG语句结合使用,使得在...

    Python断言assert的用法代码解析

    python assert断言是声明布尔值必须为真的判定,如果发生异常就说明表达式为假。 可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。 assert的语法格式: assert expression 它...

    Assert使用

    在标题“Assert使用”中,我们可以理解为这篇文档或博客将详细介绍如何在代码中有效地运用断言(Assert)。 `Assert` 通常在 C++、Java、C# 和 Python 等多种编程语言中被使用,它的主要功能是检查程序中的条件是否...

Global site tag (gtag.js) - Google Analytics