zoukankan      html  css  js  c++  java
  • 短路求值(短路操作符和非短路操作符)

    短路求值(短路操作符和非短路操作符

    一、总结

    1、短路操作符和非短路操作符

    二、短路求值

    1、&&、|| 为短路操作符。

           eg :  

                expr1 && expr2    //若expr1计算后若为false,则不再计算expr2的值,因为该式肯定为false。否则,计算expr2的值。

                expr1 || expr2      //若expr1计算后若为true,则不再计算expr2的值,因为该式肯定为true。否则,计算expr2的值  。

    2、& 和 | 是为非短路操作符。

              eg: 

                  expr1 & expr2 //计算expr1后,再计算expr2(无论expr1为true/false) ,将这二个结果作“与”运算为整个表达式的值。

                 expr1 | expr2 //计算expr1后,再计算expr2(无论expr1为true/false) ,将这二个结果作“或”运算为整个表达式的值。

    3、小例
                 String str = null;
         boolean bflag  = false;
     
                 bflag = ((str == null) | str.length() > 10); //抛出java.lang.NullPointerException(空指针异常)
     
                 bflag = ((str != null) str.length() > 10); //抛出java.lang.NullPointerException(空指针异常)
     
                bflag = ((str == null) || str.length() > 10);//bflag = true(无任何异常,由于短路求值)
     
                bflag = ((str != null) && str.length() > 10);//bflag = false(无任何异常,由于短路求值)
  • 相关阅读:
    单/多文档的窗体类属性修改(VC_MFC)
    RTTI 与消息机制(VC_MFC)
    对话框属性页(VC_MFC)
    插入符与路径(VC_MFC)
    重画控件与系统托盘图标编写(VC_MFC)
    颜色,文件和字体对话框(VC_MFC)
    ODBC 数据类型和API(VC)
    CTreeCtrl 和 CListCtrl 控件(VC_MFC)
    找回桌面清理向导清理多余IE图标
    win7任务栏缩略图消失的解决方法
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9074435.html
Copyright © 2011-2022 走看看