zoukankan      html  css  js  c++  java
  • Java断言assert

    复制代码
    public class Welcome{
    
        public static void main(String[] args){
            assert false;
            System.out.println("Welcome world");
        }
    
    }
    复制代码

    cmd下输入命令

    javac Welcome.java

    java Welcome

    输出为

    Welcome world

    java默认是不开启断言的,这种情况下assert语句将会被跳过不执行。

    为了执行assert语句,需要在添加-ea参数,cmd下重新输入命令

    javac Welcome.java
    java -ea Welcome

    此时输出为

    Exception in thread "main" java.lang.AssertionError
            at Welcome.main(Welcome.java:3)

    java断言机制要求assert后面的布尔表达式必须返回一个true值,才会继续往下执行;如果不为true,则会抛出一个Exception,这是一个未检查异常。

    assert还可以返回一个提示信息,写法如下

    复制代码

    public class Welcome{

    public static void main(String[] args){
        assert false:"assert is false"; //用一个冒号分隔
        System.out.println("Welcome world");
      }

    }

    复制代码

    cmd下输入命令

    javac Welcome.java

    java Welcome

    输出为

    Exception in thread "main" java.lang.AssertionError: assert is false //assert 提示
      at Welcome.main(Welcome.java:3)

    断言是一个比较简单的机制,用于调试程序。

  • 相关阅读:
    Codeforces 449D:Jzzhu and Numbers
    51nod 1040:最大公约数之和
    51nod 1179:最大的最大公约数
    51nod 1406:与查询
    51nod 1354:选数字
    51nod 1616:最小集合
    Codeforces:Colored Balls
    素性测试
    秒转换成年月日时分秒 和复制文本到剪贴板
    vue项目中获取cdn域名插件
  • 原文地址:https://www.cnblogs.com/xiaoguangit/p/4172755.html
Copyright © 2011-2022 走看看