1. 断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。
  1. 简单点说,断言指的就是,将结果判断说明,如卖西瓜的老大爷指着他家的西瓜说这个就是一个西瓜,那么这个断言就会成立。但是卖西瓜的老大爷指着他家的西瓜说我卖的西瓜都是世界上NO.1 的甜。那么我们知道这存在很大的不确定性,所以这个断言就不会成立。
  2. Java使用断言的关键字是assert
  3. IDEAJavaSE工程需要开启断言功能
      参考地址:https://www.cnblogs.com/noKing/p/7978092.html
  4. 方式一:
  1. private static void test1() {
  2. String str = null;
  3. /*
  4. assert str != null;
  5. 等同于:
  6. if (str == null) throw new AssertionError();
  7. */
  8. assert str != null;
  9. System.out.println("str = " + str);
  10. }

运行效果:

 方式二:

  1. private static void test2() {
  2. String str = null;
  3. /*
  4. 等同于:
  5. if (str == null) throw new AssertionError("我是:" + str);
  6. */
  7. assert str != null : "我是:" + str;
  8. System.out.println("str = " + str);
  9. }

运行效果:

方式三:

  1. private static void test3() {
  2. int i = -1;
  3. /*
  4. 等同于:
  5. if ((i <= 0)) throw new AssertionError();
  6. */
  7. assert (i > 0);
  8. System.out.println("i = " + i);
  9. }

运行效果:

小结:

  断言其实是异常的一种处理方式,更加的武断一点,比如我断言:从我这边过要收20元才能过去。给19都不行。 通常用来判断变量对象是否为null。并且对象为null通常都会抛异常。

  1.  

断言(assert)的更多相关文章

  1. 断言(assert)的用法

    我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”. 在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解 ...

  2. C语言中断言ASSERT

    我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非"报错". 在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种&qu ...

  3. 使用断言assert

    之前有看过关于Assert的书,但是不懂得如何去用,最近看别人写的代码有用这个断言(assert),今天自己动手看看如何使用断言. 断言(assert)的语义如下:如果表达式的值为0(假),则输出错误 ...

  4. 断言Assert的使用

     转载地址:http://www.cnblogs.com/moondark/archive/2012/03/12/2392315.html 我一直以为assert仅仅是个报错函数,事实上,它居然是个宏 ...

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

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

  6. java的断言(assert)

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

  7. C# 断言 Assert

    重构-断言 现象:某一段代码需要对程序状态做出某种假设 做法:以断言明确表现这种假设 动机: 常常有这种一段代码:只有某个条件为真是,该改名才能正常运行. 通常假设这样的假设并没有代码中明确表现出来, ...

  8. JavaScript之调试工具之断言assert

    1.单点断言 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...

  9. 断言(assert)

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

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

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

随机推荐

  1. [pytorch笔记] 调整网络学习率

    1. 为网络的不同部分指定不同的学习率 class LeNet(t.nn.Module): def __init__(self): super(LeNet, self).__init__() self ...

  2. 拉格朗日插值法板子(dls)

    namespace polysum { ; ll a[D],f[D],g[D],p[D],p1[D],p2[D],b[D],h[D][],C[D]; ll calcn(int d,ll *a,ll n ...

  3. ZooKeeper java例子解读

    转载链接:https://blog.csdn.net/liyiming2017/article/details/83276706 需求理解我们先回顾一下例子的需求,此客户端有如下四个需求: 1.它接收 ...

  4. IntelliJ IDEA 常用快捷键整理

    1. -----------自动代码--------  常用的有fori/sout/psvm+Tab即可生成循环.System.out.main方法等boilerplate样板代码 例如要输入for( ...

  5. 教材代码完成情况测试P171(课上测试)

    一.任务详情 0 在Ubuntu中用自己的有位学号建一个文件,教材p171 Example7_7 增加一个类DangerException2, 显示"超轻"异常,超轻的阈值minC ...

  6. 排序算法总结(java实现)

    排序算法 介绍:排序分为内部排序和外部排序,内部排序指在内存中进行的排序过程:外部排序指在外存中进行排序的过程,但是此过程建立在多次访问内存的基础上(分成一段段利用内部排序进行排序). 以下排序均属于 ...

  7. 如何在外部获取当前A标签的ID值

    <div class="diskmain"> <ul id="folder"> <li><span class='do ...

  8. 半硬化树脂PP的型号

    1080是PP半固化胶片的型号(perperg),还有7628,2116,2113,2112,1506等等型号,每种型号不一样代表其PP内部的玻纤布不一样,比如7628的玻纤布相对较粗.数值较小则玻纤 ...

  9. vscode + php+ftp

    首先,php网站的文件都整理到一个文件夹中: 然后,用vscode的File.Open Folder打开刚才的文件夹: 3,Ctrl+Shift+P,输入SFTP:Config,会打开一个配置文件,编 ...

  10. 使用conda安装命令时一直出现问题,因为从2019年4月添加的国内镜像都不能用了

    安装过程中出现以下问题:(历尽千辛万苦,终于才查到原来是清华源,腾讯源都不能用了)The remote server could not find the noarch directory for t ...