原创

Java中&与&&的区别与联系详解

        我想每个人在面试的时候都会遇到问运算符的问题吧,如果你没有真正的理解他们的意思,可以参考一下下面的代码与解答,举例&与&&的区别于联系,本人通过代码演示和文字描述说一说&与&&的区别于联系。


废话少说,具体代码如下:

package com.yoodb;
/**
 * 素文宅
 * @author www.yoodb.com
 */
public class Test {
    public static void main(String[] args) {
        boolean a = false;
        boolean b = true;
        if(a &&
                b){
            //do something
            System.out.println("欢迎收藏www.yoodb.com!");
        }
        if(a &
                b){
            //do something
            System.out.println("欢迎收藏www.yoodb.com!");
        }
    }
}

对于&&运算符来说:

if(a &&
        b){
    //do something
}

&&条件a等于false时不继续执行,等于true时继续执行,具有短路功能,想看效果的话可以通过Dubug模式,Debug模式时会发现只执行到“a &&”步,不继续往下执行了


但是对于&运算符来说:

if(a &&
        b){
    //do something
}

&条件不管是a与b结果如何程序都会继续执行下去,想看效果的话可以通过Dubug模式,Debug模式时会发现只执行到“a &&”步,还会继续往下执行


总结:

&和&&都可以作为逻辑运算符的,其逻辑运算规则是相同的,如:

a:true  b:true  a&b:true  a&&b:true
a:true  b:false  a&b:false  a&&b:false
a:false  b:true  a&b:false  a&&b:false
a:false  b:false  a&b:false  a&&b:false

&&具有短路功能,第一个操作符为false就不会再去计算第二个操作符;&作为逻辑运算符时,即使第一个操作符是false,那么它仍然会计算第二个操作符。

关注下方微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

相关推荐

评论

分享:

支付宝

微信