`
hbkh2000
  • 浏览: 203775 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

什么时候用assert

 
阅读更多

什么时候用assert。    
  断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为   true。如果表达式计算为   false,那么系统会报告一个   Assertionerror。它用于调试目的:    
  assert(a   >   0);   //   throws   an   Assertionerror   if   a   <=   0    
  断言可以有两种形式:    
  assert   Expression1   ;    
  assert   Expression1   :   Expression2   ;    
  Expression1   应该总是产生一个布尔值。    
  Expression2   可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的   String   消息。    
  断言在默认情况下是禁用的。要在编译时启用断言,需要使用   source   1.4   标记:    
  javac   -source   1.4   Test.java    
  要在运行时启用断言,可使用   -enableassertions   或者   -ea   标记。    
  要在运行时选择禁用断言,可使用   -da   或者   -disableassertions   标记。    
  要系统类中启用断言,可使用   -esa   或者   -dsa   标记。还可以在包的基础上启用或者禁用断言。    
  可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。    

分享到:
评论

相关推荐

    python assert的用处示例详解

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

    Java陷阱之assert关键字

     在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略!),如果要开启断言...

    Java程序员面试题及解答

    第一,谈谈final, finally, finalize的区别。  第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)... 第七,什么时候用assert.  第八,GC是什么? 为什么要有GC?............................

    java面试题

    第七,什么时候用assert. 第八,GC是什么? 为什么要有GC? 第九,String s = new String("xyz");创建了几个String Object? 第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

    java_ms.rar_Math Class_java collection

     第七,什么时候用assert。  API级的技术人员有可能会问这个。   第八,GC是什么? 为什么要有GC?  基础。   第九,String s = new String("xyz") 创建了几个String Object?   第十,Math.round(11.5)等於...

    C语言断言assert的用法.pdf

    此外,还用assert来确认内存复制后的结果是否与原始字符串一致。这样可以确保程序运行中不会出现错误的逻辑判断,增加了程序的稳定性。 在文件中还提到了memcpy函数。这是一个用于内存复制的函数,在进行内存复制前...

    java各大软件公司的面试题的集和

    第七,什么时候用assert。 API级的技术人员有可能会问这个。 第八,GC是什么? 为什么要有GC? 基础。 第九,String s = new String("xyz");创建了几个String Object? 第十,Math.round(11.5)等於...

    Java基础面试题集.doc

    七、什么时候用assert assert是Java 1.4新增的关键字(语法),用于测试boolean表达式状态,可用于调试程序。使用方法assert 表达式&gt;,表示如果表达式为真(true),则下面的语句执行,否则抛出AssertionError。 ...

    2011年最新Java面试大合集.doc

    七、什么时候用 assert 断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为 false,那么系统会报告一个 Assertionerror。它用于调试目的。断言可以有两种形式:assert ...

    变态JAVA面试32问.docx

    7. 什么时候用 assert 断言是一个包含布尔表达式的语句,用于调试目的。断言可以有两种形式, assert Expression1 ; 和 assert Expression1 : Expression2 ;。断言可以用于验证传递给私有方法的参数,但不应该用于...

    Java面试大合集

    什么时候用assert 断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true。如果表达式计算为false,那么系统会报告一个AssertionError。它用于调试目的: assert(a &gt; 0); // throws an ...

    abstract class和interface有什么区别?

    ### 什么时候用assert #### 7. assert 的使用场景 - **定义:** - `assert` 是一种简单的调试工具,用于在开发过程中验证假设是否正确。 - 断言(assertion)通常由一个布尔表达式组成,用来确保某个条件为真。 ...

    JAVA面试变态32问(精华版)

    7. 什么时候用assert: * 断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true。如果表达式计算为false,那么系统会报告一个AssertionError。 * 断言可以有两种形式:assert Expression1 ;和...

    2022年JAVA面试题及答案.doc

    第七、什么时候用 assert: * assert 语句用于在开发和测试阶段检测程序的逻辑错误。 第八、GC 是什么?为什么要有 GC? * GC 是垃圾回收器,用于回收程序中不再使用的对象。 * GC 是为了避免内存泄露和提高程序...

    java 常见面试题(含答案)

    七、什么时候用 assert * 断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为 false,那么系统会报告一个 AssertionError。 * 断言可以有两种形式:assert Expression1 ; ...

    JAVA程序员面试题(含有答案)经典版

    8. 什么时候用 assert: assert 表示断言,既程序执行到某个地方之后,值肯定是预计好的。要想使用 assert,则必须使用-ea 参数。 9. GC 是什么?为什么要有 GC? GC 是垃圾收集,使用 GC 可以进行垃圾空间的释放...

    java编程常见面试题目.pdf

    第七,什么时候用assert。assert用于断言,通常在单元测试或调试过程中,用来验证代码中的假设。在生产环境中,assert默认是关闭的,因为它们会影响性能。 第八,GC是什么? 为什么要有GC? (基础)。GC是Garbage ...

    变态级JAVA程序员面试32问

     第七,什么时候用assert.  第八,GC是什么? 为什么要有GC?  第九,String s = new String("xyz");创建了几个String Object?  第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?  ...

    java 经典面试题(含答案)

    七、什么时候用assert * 断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true。 * 断言用于调试目的,可以有两种形式:assert Expression1 ;和assert Expression1 : Expression2 ;。 * 断言可以在...

    java最常用面试题

    #### 七、什么时候使用 assert **assert**关键字用于调试目的,它允许开发者指定在某些条件下程序状态应该是怎样的。当`assert`后的表达式为`false`时,会抛出`AssertionError`异常。assert语句主要有两种形式: 1...

Global site tag (gtag.js) - Google Analytics