你的位置:首页 > Java教程

[Java教程]Java基础の乱弹琴一:assert关键字


一。概述

assert:表示断言

二。语法

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

assert关键字语法很简单,有两种用法:
 
1、assert <boolean表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出AssertionError,并终止执行。
 
2、assert <boolean表达式> : <错误信息表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出java.lang.AssertionError,并输入<错误信息表达式>。
三。例子
下面给出一个例子,通过例子说明其用法:
 1 public class AssertFoo { 2   public static void main(String args[]) { 3     //断言1结果为true,则继续往下执行 4     assert true; 5     System.out.println("断言1没有问题,Go!"); 6     System.out.println("\n-----------------\n"); 7     //断言2结果为false,程序终止 8     assert false : "断言失败,此表达式的信息将会在抛出异常的时候输出!"; 9     System.out.println("断言2没有问题,Go!");10   }11 }

在Eclipse下创建类保存编译运行,输出结果

可见并没有执行assert,那么在Eclipse下如何设置开启断言呢,看下面的方法:
配置Run Configurations
菜单栏--->Run--->Run Configurations打开配置界面,在VM argument里面输入-ea即可,如下图所示
四。建议
个人建议避免使用assert断言,使用真的不太方便,不如JUint或者Debug加断点使用方便,还能查看前面的变量的值,分析原因