参考博客来自:Assert断言语法与触发

一.assert关键字是什么?

在C和C++语言中都有assert关键,表示断言

在Java中,同样也有assert关键字,表示断言,用法和含义都差不多,与之同理的就是if(boolean)判断,如果boolean为false则抛出异常。

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

二.assert的语法

assert关键字语法很简单,有两种用法:

1、assert <boolean表达式>

如果<boolean表达式>为true,则程序继续执行。

如果为false,则程序抛出AssertionError,并终止执行。

2、assert <boolean表达式> : <错误信息表达式>

如果<boolean表达式>为true,则程序继续执行。

如果为false,则程序抛出java.lang.AssertionError,并输入<错误信息表达式>

三.如何打开断言,使其生效

1.IDEA中默认assert(断言)是关闭,开启方式如下:

简单来说:就是设置一下jvm的参数,参数是-enableassertions或者-ea(推荐)。

在IDEA的Run==》Edit Configurations 选项卡中:

四. 代码调试生效

1、assert <boolean表达式>  触发assert

public static void main(String[] args) {Integer q = 128;Integer n = 128;System.out.println("q ==n 结果: " + (q==n) );//只有结果为true时,程序才继续执行assert (q == n);System.out.println("程序继续执行了");}

运行结果(前提必须开启断言)如下:

2、assert <boolean表达式>  不触发assert

public static void main(String[] args) {Integer q = 127;Integer n = 127;System.out.println("q ==n 结果: " + (q==n) );//只有结果为true时,程序才继续执行assert (q == n);System.out.println("程序继续执行了");}

运行结果如下:

3、assert <boolean表达式> : <错误信息表达式>      触发assert异常

public static void main(String[] args) {Integer q = 128;Integer n = 128;System.out.println("q ==n 结果: " + (q==n) );//只有结果为true时,程序才继续执行assert (q == n):"超出Integer自动拆装箱范围";System.out.println("程序继续执行了");}

运行结果如下:

4、assert <boolean表达式> : <错误信息表达式>      关闭断言,依然触发assert异常

public static void main(String[] args) {Integer q = 128;Integer n = 128;System.out.println("q ==n 结果: " + (q==n) );//只有结果为true时,程序才继续执行assert (q == n):"Integer自动拆装箱超出范围";System.out.println("程序继续执行了");}

在IDEA的jvm参数中去掉-ea,运行结果如下

Java关键字之Assert相关推荐

  1. java中的assert

    Java陷阱之assert关键字 一.概述 在C和C++语言中都有assert关键,表示断言. 在Java中,同样也有assert关键字,表示断言,用法和含义都差不多. 二.语法 在Java中,ass ...

  2. Java断言(assert)

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

  3. Java关键字(53个关键字)

    Java关键字(53个关键字) abstract  default  goto*  null  switch  boolean  do  if  package  nchronzed  break  ...

  4. 10.java 关键字与保留字

    Java 关键字列表 (依字母排序 共51组)所有的关键字都是小写. 在IDE中都会显示不同的颜色: abstract, assert, boolean, break, byte, case, cat ...

  5. Java关键字与保留字说明及使用

    Java关键字与保留字说明及使用 abstract boolean break byte case catch char class continue default do double else e ...

  6. java关键字_Java关键字

    java关键字 Java keywords are the reserved words that are used by the Java compiler. These keywords have ...

  7. Java断言(assert)的介绍和使用

    Java断言(assert)的介绍和使用 在Java编程中,断言(assert)是一种有用的工具,用于在代码中进行条件检查和调试.通过使用断言,我们可以验证程序的逻辑和假设,确保程序在运行时达到预期的 ...

  8. java 关键字 保留字_什么是Java关键字和保留字?

    关键字是预先定义的,在Java编程语言中具有独特的含义和功能.这些关键字也称为保留关键字,这意味着它们不能用作变量名.类.方法或任何其他标识符.Java中有57个保留关键字.同时 关键字是预先定义的, ...

  9. 本固枝荣 —— Java关键字之分类

    说明 Java关键字是事先定义的,具有特殊含义的标识符,也可以理解为是编译器与程序员之间的一种约定,程序员利用关键字来告诉编译器其声明的变量类型.类.方法特性等信息.如果对Java中的关键字进行分类的 ...

最新文章

  1. 【跟着我们学Golang】之异常处理
  2. 惠普z840工作站linux,HP Z840 工作站,高清非编工作站
  3. 零拷贝和java NIO
  4. React Native实现一个带筛选功能的搜房列表(2)
  5. JSP 插入到数据库的数据出现 “SQLServerException: 将截断字符串或二进制数据” 错误解决方案
  6. CGCKD2021大会报告整理(1)--宽度学习
  7. Ubuntu14.04安装ROS
  8. C++:编译实验之递归下降分析器
  9. 创建数据库、表以及索引
  10. C++模板实现,支持多维,安全数组的完整代码
  11. windows 网络编程大汇总
  12. 史上最全的Java从入门到精通,播放最多的Java视频教程
  13. php 死链查询,网站最新死链查询和处理方法
  14. POS机31个基础知识你了解多少?
  15. BZOJ5336:[TJOI2018]游园会——题解
  16. 统计检测(statistical tests)
  17. 4.证券投资基金的监管
  18. 对话系统简介与OPPO小布助手的工程实践
  19. 6.4输入系统-模拟输入系统驱动
  20. 完美解决安装Eclipse2020-3报错问题及正确安装,冲冲冲!!!

热门文章

  1. uniapp解决苹果手机上传图片不显示问题
  2. MongoDB组合索引
  3. matlab中surf x,matlab中surf什么意思
  4. 在SpringBoot项目中整合拦截器
  5. TortoiseSVN查看各个历史记录文件
  6. Fedora 16 桌面用户指南
  7. 贝塞尔曲线实现手写签名
  8. Google Earth Engine(GEE)——研究区森林斑块的景观特征
  9. HTTP缓存设置与解析
  10. 联盟训练在游戏AI多样化的探索