public class Welcome{

    public static void main(String[] args){
assert false;
System.out.println("Welcome world");
} }

cmd下输入命令

javac Welcome.java

java Welcome

输出为

Welcome world

java默认是不开启断言的,这种情况下assert语句将会被跳过不执行。

为了执行assert语句,需要在添加-ea参数,cmd下重新输入命令

javac Welcome.java
java -ea Welcome

此时输出为

Exception in thread "main" java.lang.AssertionError
at Welcome.main(Welcome.java:3)

java断言机制要求assert后面的布尔表达式必须返回一个true值,才会继续往下执行;如果不为true,则会抛出一个Exception,这是一个未检查异常。

assert还可以返回一个提示信息,写法如下

public class Welcome{

public static void main(String[] args){
    assert false:"assert is false"; //用一个冒号分隔
    System.out.println("Welcome world");
  }

}

cmd下输入命令

javac Welcome.java

java Welcome

输出为

Exception in thread "main" java.lang.AssertionError: assert is false //assert 提示
  at Welcome.main(Welcome.java:3)

断言是一个比较简单的机制,用于调试程序。

Java断言assert的更多相关文章

  1. K:java 断言 assert 初步使用:断言开启、断言使用

    @转自天地悠悠的个人博客 主要总结一下在eclipse中如何使用断言. (一)首先明确: java断言Assert是jdk1.4引入的. jvm 断言默认是关闭的. 断言是可以局部开启的,如:父类禁止 ...

  2. java断言assert初步使用:断言开启、断言使用

    1 说明 java断言assert是jdk1.4引入的. jvm断言默认是关闭的. 断言可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”. 断言只适用复杂的调式过程. ...

  3. 01 java断言assert初步使用:断言开启、断言使用

    参考文件:http://blog.sina.com.cn/s/blog_59c9412d0100fd55.html 1 说明 java断言assert是jdk1.4引入的. jvm断言默认是关闭的. ...

  4. java断言 assert

    关于assert的用法网上教程很多,这里就不说了,只演示一下运行时开启断言的方法. public class A{ public static void main(String[] args){ Cl ...

  5. java的断言(assert)

    概述 在C和C++语言中都有assert关键,表示断言.在Java中,同样也有assert关键字,表示断言,用法和含义都差不多.在Java中,assert关键字是从JAVA SE 1.4 引入的,为了 ...

  6. Java中的断言 Assert

    今天正好遇到了,就记一下 一.作用: 用与编写单元测试 二.assert 关键字 assert 理论上和 if类似, 但是assert 仅仅用于测试, 不能用于业务 如果发现断言无效, 则可能时ide ...

  7. Java中assert(断言)的使用

    Java中assert(断言)的使用 1.Eclipse中默认assert(断言)是关闭,开启方式如下: 简单来说:就是设置一下jvm的参数,参数是-enableassertions或者-ea(推荐) ...

  8. java断言

    public class New{ public static void main(String[] args){ assert false; System.out.println("pas ...

  9. 断言(assert)

    断言(assert):用来调试.测试代码. 格式: assert 布尔表达式: 字符串 (如果布尔表达式为false时,这个字符串才会显示). 注意: assert默认是关闭的,使用时需要使用&quo ...

随机推荐

  1. java.util.logging.Logger使用详解

    一.创建Logger对象   static Logger getLogger(String name)           为指定子系统查找或创建一个 logger. static Logger ge ...

  2. Oracle® Database Patch 19121551 - Database Patch Set Update 11.2.0.4.4 (Includes CPUOct2014) - 傲游云浏览

    Skip Headers Oracle® Database Patch 19121551 - Database Patch Set Update 11.2.0.4.4 (Includes CPUOct ...

  3. ajax连接数据库并操作数据库

    Response.Write("<script  type='text/javascript' language='javascript' >alert('用户名不能为空!请输入 ...

  4. (转)每天一个Linux命令(5): rm

    http://www.cnblogs.com/peida/archive/2012/10/26/2740521.html 昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和 ...

  5. mate代码详解

    1.用以说明生成工具(如MICROSOFT FRONTPAGE 4.0)等: 2.向搜索引擎说明你的网页的关键词: 3.告诉搜索引擎你的站点的主要内容: 4.告诉搜索引擎你的站点的制作的作者: 5. ...

  6. 1.解剖Linq to object

    LINQ想必大家都不陌生了,它的出现使得我们的代码变得更短.更优雅了.至于LINQ是什么,Linq to object这类的扩展方法到底做了些什么.我们使用的EF是如何实现的(如何解析Expressi ...

  7. [Everyday Mathematics]20150215

    设 $n,k$ 是正整数, 使得 $x^{2k}-x^k+1$ 整除 $x^{2n}+x^n+1$. 试证: $x^{2k}+x^k+1$ 整除 $x^{2n}+x^n+1$.

  8. Effective java笔记6--异常

    充分发挥异常的优点,可以提高一个程序的可读性.可靠性和可维护性.如果使用不当的话,它们也会带来负面影响. 一.只针对不正常的条件才使用异常 先看一段代码: //Horrible abuse of ex ...

  9. sed命令使用记录

    背景:文件A,文件B,文件格式一致,有两列,第一列为key,第二列为value. 目的:将文件A中的内容插入到文件B中,不能在最后,不能有重复key(我的key和value用tab键分割) 实现:我的 ...

  10. Python在centos下的安装

    1.wget http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz默认下载到主目录下 2.tar xzf Python-2.6.6.tgz 3 ...