Java学习手册:assert

版权声明:本文为博主原创文章,未经博主允许不得转载,转载请务必注明出处: https://blog.csdn.net/MaybeForever/article/details/89071810

断言(assert) 作为一种软件调试的方法,提供了一种在代码中进行正确性检查的机制。它的主要作用是对一个boolean表达式进行检查,一个正确运行的程序必须保证这个boolean表达式的值为true,若boolean表达式的值为false,则说明程序已经处于一种不正确的状态下,需要系统提供警告信息并且退出程序。在实际的开发中,assert主要用于保证程序的正确性,通常在程序开发和测试时使用。为了提高程序的运行效率,在软件发布后,assert检查是默认关系的。

assert包括两种表达式,分别为assert expression1assert expression1:expression2,其中,expression1表示一个boolean表达式,expression2表示一个基本类型或者是一个对象,基本类型包括boolean、char、double、float、int和long。

package com.haobi;
/*
 * assert关键字
 */
public class Assert {
	public static void main(String[] args) {
		assert 1 + 1 == 2;
		System.out.println("assert1 ok");
		assert 1 + 1 == 3 : "assert faild,exit";
		System.out.println("assert2 ok");
	}
}
//1-在eclipse中,未开启断言assert,程序输出结果如下:
assert1 ok
assert2 ok
//2-打开断言assert,程序输出结果如下:
//打开方法:eclipse→Windows菜单→Preferences→Java→Installed JREs→选取安装好的jdk,然后点击Edit→
//→在Default VM arguments里输入-ea或-enableassertions→最后点击finish即可。
assert1 ok
Exception in thread "main" java.lang.AssertionError: assert faild,exit
	at com.haobi.Assert.main(Assert.java:9)

assert的应用范围主要包括:①检查控制流;②检查输入参数是否有效;③检查函数结果是否有效;④检查程序不变量。

在Java语言中assert与C语言中的assert尽管功能类似,但也不完全一样,具体表现为两个方面的不同:①Java语言中是使用assert关键字去实现其功能,而C语言中使用的是库函数;②C语言中的assert是在编译时开启,而Java语言中则是在运行时开启。

猜你喜欢

转载自blog.csdn.net/MaybeForever/article/details/89071810