小弟学java过程中,遇到一个问题
就是"断言"的用法是什么啊?
请大哥们指导指导

解决方案 »

  1.   

    断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 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 标记。还可以在包的基础上启用或者禁用断言。  可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。paste来的,这个可以看书的呀。
      

  2.   

    断言的操作很方便,总是断言某个事情为true.如果是true,则无任何问题,代码继续运行,但是如果断言为false,这时在这里抛出AssertionError,因此可以修正该问题.使用断言可以代替复杂的if--else判断.
    断言有两种形式
    assert (布尔表达式);
    assert (布尔表达式):表达式2; //表达式2的结果可以是任何值,而不只是布尔值.断言默认是禁止的 如果要启用断言 可以在编译的时候加上 -source 1.4 //在1.4版本中
    例如:javac -source 1.4 Test.java带断言运行:
    java -ea Test.java
      

  3.   

    对于初学者来说,没什么用,
    即使是程序员也很少人去用,不过如果你要参加SUN认证考试之类的,那就找点资料看看吧.GOOGLE一下,什么都有了.