原创

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),回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。

Java精选专注程序员推送一些Java开发知识,包括基础知识、各大流行框架(Mybatis、Spring、Spring Boot等)、大数据技术(Storm、Hadoop、MapReduce、Spark等)、数据库(Mysql、Oracle、NoSQL等)、算法与数据结构、面试专题、面试技巧经验、职业规划以及优质开源项目等。其中一部分由小编总结整理,另一部分来源于网络上优质资源,希望对大家的学习和工作有所帮助。

评论

分享:

支付宝

微信