zoukankan      html  css  js  c++  java
  • Java短路运算符和非短路运算符

      在Java中短路运算符指的是"&&"(与) 和"||"(或) ,非短路运算符指的是"&" 和"|".

      1.1短路运算符:顾名思义,短路运算符具有短路功能.

        |-如果 "&&" 运算符的第一个表达式为false,则第二个表达式就不会执行

        |-如果 "||" 运算符的第一个表达式为true,则第二个表达式就不会执行

      例如: 

    public class Test {
        public static void main(String[] args) {
            int i = 0;
            int j = 0;
            if (++i > 0 || ++j > 0) {
                System.out.println("i的值:" + i);
                System.out.println("j的值:" + j);
            }
        }
    }

      因为++i>0为true  所以++j>0将不会被执行. 

      输出的结果就是:  

    i的值:1
    j的值:0

      1.2非短路运算符

        非短路运算符不管第一个表达式是否可以得出最后结果,都要对第二个表达式进行判断.

    public class Test {
        public static void main(String[] args) {
            int i = 0;
            int j = 0;
            if (++i > 0 | ++j > 0) {
                System.out.println("i的值:" + i);
                System.out.println("j的值:" + j);
            }
        }
    }

        而非短路逻辑运算符的答案是:

    i的值:1
    j的值:1

      1.3总结

      短路运算符只能用于逻辑表达式内,非短路运算符可用于位表达式和逻辑表达式内。也可以说:短路运算只能操作布尔型的,而非短路运算不仅可以操作布尔型,而且可以操作数值型。

      但是在判断的时候推荐使用短路运算符进行逻辑判断,因为短路运算符在一定程度上可以提高程序运行的效率

  • 相关阅读:
    PB数据窗口分页
    Oracle创建视图权限不足
    PB计算两个日期相差月份(计算工龄)
    oracle笔记之计算年龄、工龄和TRUNC
    oracle随笔之提示“ORA-01002: 提取违反顺序”
    PB笔记之调用数据窗口时的过滤条件添加方式
    Oracle随笔之用拆分后的列数据关联表查询
    四种布局
    Android控件常见属性
    Activity启动活动最佳写法
  • 原文地址:https://www.cnblogs.com/Triomphe/p/6826575.html
Copyright © 2011-2022 走看看