首页 > 编程语言 >Java Assert断言使用

Java Assert断言使用

时间:2023-04-23 15:11:45浏览次数:32  
标签:assert Java 断言 System Assert expression1 println out

目录

    1. 断言

      所谓的assertion,是jdk1.4后加入的新功能。

    2. 作用
      • 它主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出。
    3. 后续
      • 当软件正式发布后,可以取消断言部分的代码。
      • java中使用assert作为断言的一个关键字,这就可以看出java对断言还是很重视的,因为如果不是很重要的话,直接开发个类就可以了,没必要新定义一个关键字。
    4. 语法
    // expression代表一个布尔类型的表达式,如果为真,就继续正常运行,如果为假,程序退出
    语法1:assert expression;
    
    // expression1是一个布尔表达式,expression2是一个基本类型或者Object类型,如果expression1为真,则程序忽略expression2继续运行;如果expression1为假,则运行expression2,然后退出程序。
    语法2:assert expression1 : expression2;
    
    1. 举个例子
      • 代码示例
      • 运行结果
        • 结果一

        • 结果二

    // 1.示例一
    public class AssertionDemo {  
        //这个成员变量的值可以变,但最终必须还是回到原值5  
        static int i = 5;  
        public static void main(String[] args) {  
            assert i==6;  
            System.out.println("如果断言正常,我就被打印");  
        }  
    }
    
    // 示例二
    ​public class AssertionDemo {  
        public static void main(String[] args) {  
            int i = 3;  
            switch (i) {  
            case 1:  
                System.out.println("正常");  
                break;  
            case 2:  
                System.out.println("正常");  
                break;  
            case 5:  
                System.out.println("正常");  
                break;  
            default:  
                assert false:"i的值无效";       //如果i的值不是你想要的,程序就警告退出  
            }  
            System.out.println("如果断言正常,我就被打印");  
        }  
    }
    
    1. idea中开启断言
      • 有的小伙伴发现自己的IDE并没有抛出Error 这是因为没有显示开启, 启用断言开启方法: vm options 加入 -ea

    标签:assert,Java,断言,System,Assert,expression1,println,out
    From: https://www.cnblogs.com/Twittery/p/17346609.html

    相关文章

    • javamock生成对象
      `importjava.lang.reflect.Field;importjava.lang.reflect.ParameterizedType;importjava.util.ArrayList;importjava.util.Date;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Random;publicclassMock{privatesta......
    • JavaScript实现文件上传下载功能实例解析
      ​ 需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步:前端修改由于项目使用的是BJUI前端框架,并没有使用框架本身的文件上传控件,而使用的基于jQuery的Uploadify......
    • java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check th
      java.sql.SQLSyntaxErrorException:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear''',b_5='17',b_6=''whereb_name='A'......
    • Java最佳实践
      计算机编程中,最佳实践是许多开发人员遵循的一组非正式规则,以提高软件质量、可读性和可维护性。在应用程序长时间保持使用的情况下,最佳实践尤其有益,这样它最初是由一个团队开发的,然后由不同的人组成的维护团队进行维护。本教程将提供Java最佳实践的概述,以及每个条目的解释,包括Jav......
    • Java 静态泛型方法为什么要在返回值之前使用泛型
      静态方法定义静态泛型方法要在返回值之前使用泛型声明此方法为泛型方法:/***泛型方法的基本介绍*@paramtClass传入的泛型实参*@returnT返回值为T类型*说明:*1)public与返回值中间<T>非常重要,可以理解为声明此方法为泛型方法。......
    • jmeter中的java请求 用httpclient写的http请求 及参数化
      首先,jmeter中的sample的原理: jmeter 中的java 请求,sample 原理,java testjmeter自带的包,把包放在类路径下面,通过反射机制,通过反射机制扫出来。 先导入五个jar包  packagecom.young.testing91;importjava.io.IOException;importorg.apache.http.client.C......
    • java基础-泛型(七)
      泛型:jdk1.5版本以后出现的一个安全机制。表现格式:<>好处:1:将运行时期的问题ClassCastException问题转换成了编译失败,体现在编译时期,程序员就可以解决问题。2:避免了强制转换的麻烦。 只要带有<>的类或者接口,都属于带有类型参数的类或者接口,在使用这些类或者接口时,必须给<>中传递一......
    • java基础-面向对象-多态(四)
      某一个事务不同的体现形态例如:人:男人、女人动物:猫、狗猫x=new猫();动物x=new猫();1、多态的体现父类的引用指向了自己的子类对象父类的引用也可以接受自己的子类对象2、多态的前提必须是类与类之间有关系,要么继承、要么实现,通常还有一个前提,存在覆盖3、多态的好处多态的出现大大......
    • java基础-面向对象-继承(三)
      This  Super  继承的时候出现的两个关键字,final(不让复写方法)  abstract (必须复写方法)interface(修饰类)  implement继承好处:提高代码的复用性, 让类与类之间产生了关系,提供了另一个特征多态的前提父类的由来,其实是由多个类不断向上抽取共性内容而来的java来说,继承是单......
    • java基础-异常处理(六)
      异常处理,出现的问题有很多种,比如角标越界,空指针等都是。就对这些问题进行分类。而且这些问题都有共性内容比如:每一个问题都有名称,同时还有问题描述的信息,问题出现的位置,所以可以不断的向上抽取。形成了异常体系。--------java.lang.Throwable:Throwable:可抛出的。   |--Error:错......