原创

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),专注Java技术干货分享!让你从此路人变大神!回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。微信搜索小程序“Java精选面试题”,内涵3000+道Java面试题!

涵盖:互联网那些事、算法与数据结构、SpringMVC、Spring boot、Spring Cloud、ElasticSearch、Linux、Mysql、Oracle等

评论

分享:

支付宝

微信