Java中assert(断言)的使用
JAVA 断言 assert 使用
2023-09-11 14:22:04 时间
2018年08月31日 21:51:07 jeikerxiao
1.IDEA打开断言
1.IDEA中默认assert(断言)是关闭,开启方式如下:
简单来说:就是设置一下jvm
的参数,参数是-enableassertions
或者-ea
(推荐)。
2.assert格式
1.格式1
assert [boolean 表达式]
- 如果[boolean表达式]为true,则程序继续执行。
- 如果为false,则程序抛出AssertionError,并终止执行。
示例
public class Test1 {
public static void main(String[] args) {
int a = 1;
int b = 2;
// 格式1:assert [boolean 表达式]
assert a > b;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
增加 jvm
参数 -ea
,运行,输出日志如下:
Exception in thread "main" java.lang.AssertionError
at Test1.main(Test1.java:12)
Process finished with exit code 1
- 1
- 2
- 3
- 4
2.格式2
assert [boolean 表达式 : 错误表达式 (日志)]
- 1
- 如果[boolean表达式]为true,则程序继续执行。
- 如果为false,则程序抛出java.lang.AssertionError,输出[错误信息]。
示例
public class Test2 {
public static void main(String[] args) {
int a = 1;
int b = 2;
// 格式2:assert [boolean 表达式] : [错误表达式 (日志)]
assert a > b : "错误,a不大于b";
}
}
增加 jvm
参数 -ea
,运行,输出日志如下:
Exception in thread "main" java.lang.AssertionError: 错误,a不大于b
at Test2.main(Test2.java:12)
Process finished with exit code 1
备注:assert boolean表达式如果是false会造成如下问题:
相关文章
- 深入java面向对象五:Java的内存管理
- [Java基础] java多线程关于消费者和生产者
- [Java基础] java的守护线程与非守护线程
- Java 开发环境配置--eclipse工具进行java开发
- 基础知识《三》java修饰符
- Java魔法堂:注解用法详解——@SuppressWarnings
- Java实现 LeetCode 639解码方法 2(递推)
- Java实现 LeetCode 263 丑数
- java实现 洛谷 P1056 排座椅
- Java实现冗余路径Redundant Paths
- Java实现Catenyms(并查集+dfs+欧拉回路)
- java实现字符串比较
- (Java实现) 洛谷 P1691 有重复元素的排列问题
- Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
- Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
- Java中实现序列化的两种方式 Serializable 接口和 Externalizable接口
- 【JAVA】 04-Java中的多线程
- 【JAVA】 01-Java基础知识
- macos:安装java 17.0.6(android studio报错:Unable to locate a Java Runtime.)
- 【JAVA】毕向东Java基础视频教程-笔记
- 【Java】java使用反射访问对象方法和成员变量
- linux(centos8):安装java jdk 15 (java 15)
- Atitit 搜索蓝牙设备 powershell的实现 java noede.js python 先用脚本语言python nodejs,不好实现。。Java 也不好实现。。 Netcore可以,
- 华为OD机试 - 开心消消乐(Java & JS & Python)
- 当年的Java考试:JAVA&移动应用&大数据-大三-社区疫苗接种管理系统(全部源码·保姆式呵护)
- 1小时学会通过Java Swing Design设计java图形化
- 【java】Java生成微信小程序二维码
- 【java】Java中-> 是什么意思?
- Java 8中的Lambda 和 Stream (from Effective Java 第三版)
- 详解jvm之java类加载机制和类加载器(ClassLoader) 深入理解Java类加载器(ClassLoader) 如何自定义类加载器 深入说明双亲委派 双亲委派模型的破坏者-线程上下文类加载器
- java断言assert
- 构建自己的Java并发模型框架
- Java开发技术之成为高级java工程师必须学习的三个技术
- java面试题:Linux
- 【java基础】断言(assert)
- JAVA开发讲义(二)-Java程序设计之数据之谜四