zoukankan      html  css  js  c++  java
  • java中&和&&的区别和联系

    我想很多人在学习java的时候,或者其他语言(如:C#,.Net等)都会遇到

    &和&&

    然而,如果你没有真正的理解他们的意思,这会给你思路上面带来很大的麻烦

    在这篇blog中,当你看完了以后,你会发现,很容易就把他们给区分开了

    下面是我的demo

     1 /**
     2  * 
     3  */
     4 package com.b510.test;
     5 
     6 /**
     7  * @author Jone Hongten
     8  * @create date:2013-11-2
     9  * @version 1.0
    10  */
    11 public class Test {
    12 
    13     public static void main(String[] args) {
    14         String str = null;
    15         if(str != null && !"".equals(str)){
    16             //do something
    17         }
    18         if(str != null & !"".equals(str)){
    19             //do something
    20         }
    21     }
    22 }

    我们现在可能有一些模糊不清,现在我们先看看&和&&的电路问题:

    对于:&&

    if(str != null && !"".equals(str))

    当: str != null 的时候,接下来才会去执行: !"".equals(str)

    如果: str != null为false,那么这个时候,程序是处于短路的情况,则,!"".equals(str) 是不会执行的。

    但是对于:&

    if(str != null & !"".equals(str))

    不管: str != null 的结果如何(即true,false),程序都会执行: !"".equal(str)

    电路问题总结:

    对于:&   -- >  不管怎样,都会执行"&"符号左右两边的程序

    对于:&& -- >  只有当符号"&&"左边程序为真(true)后,才会执行符号"&&"右边的程序。

    下面来说说运算规则:

    对于:&  -- >  只要左右两边有一个为false,则为false;只有全部都为true的时候,结果为true

    对于:&& -- > 只要符号左边为false,则结果为false;当左边为true,同时右边也为true,则结果为true

    ========================================================

    More reading,and english is important.

    I'm Hongten

     

    大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。
    Hongten博客排名在100名以内。粉丝过千。
    Hongten出品,必是精品。

    E | hongtenzone@foxmail.com  B | http://www.cnblogs.com/hongten

    ========================================================

  • 相关阅读:
    js模块化历程
    夜深
    出差(六)开会
    高情商的十大典型表现
    出差(五)调整
    HighCharts简单应用
    出差(四)适应
    出差(三)尝试
    出差(二)熟悉
    ZTree简单应用
  • 原文地址:https://www.cnblogs.com/hongten/p/hongten_java_yu.html
Copyright © 2011-2022 走看看