`
doris_9
  • 浏览: 6875 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

&和&&的区别

阅读更多
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长

&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01

//CODE

package zhangxiaoxiang.chuanzhiboke;
/**
*逻辑运算符**和位运算符*的区别和共同点
*
*/
public class LogicCharacter {
   
public static void main(String[] args) {
int a=1,b=2;
//-----------&&和&都有逻辑运算符AND的功能
if(a==1&&b==2)
{
  System.out.println("ok1");
}
if(a==1&b==2)
{
  System.out.println("ok2");
}
    //-----------&&具有短路的功能
String str=null;
if(str!=null&&str.equals(""))
{
  System.out.println("ok3");
}
if(str!=null&str.equals(""))
{
  System.out.println("ok4");
}
    //----------&按位的处理
System.out.println(0x31 & 0x0f);
}

}
分享到:
评论

相关推荐

    C语言中&和&&的区别

    总结来说,C语言中的&和&&虽然都可以表达逻辑与操作,但它们的用法和效果有显著的区别。&符号可以用于按位与操作以及获取变量的地址,而&&符号则是逻辑与运算符,并具有短路特性。理解这些差异对于编写高效和正确的...

    java中&&和&的区别

    在Java编程语言中,`&`和`&&`都是逻辑运算符,但它们在实际使用中存在一些重要的差异。理解这些差异对于编写高效且清晰的代码至关重要。 首先,两者都用于进行逻辑运算,评估左右两边的布尔表达式,并根据结果返回...

    *,&的区别,输出*str,&str和str

    理解指针和引用的区别非常重要: 1. 存储:指针本身占用额外的内存空间,存储其他变量的地址;引用不占用额外空间,而是直接绑定到已存在的变量。 2. 初始化:指针可以在声明时或之后进行初始化,但必须初始化;引用...

    java中&与&&的区别

    总结一下,`&` 和 `&&` 在逻辑表达式中的主要区别在于: 1. `&` 总是评估两边的表达式,无论结果如何,而 `&&`(短路运算符)只有在必须时才会评估第二个表达式。 2. 使用 `&&` 可以提高效率,避免在已知结果为假的...

    java之&&与& -与- 的区别

    &&和&都是表示与,区别是&&只要满足第一个条件,后面条件就不用再做判断了。而&要对所有的条件都进行判断之后再处理。 ||和| 同上,都表示或,区别在于||只要满足第一个条件,后面的条件就不用再做判断了,而|还要...

    详解java中&和&&的区别

    在Java编程语言中,`&`和`&&`都是逻辑运算符,但它们在实际使用中有着明显的区别。本文将详细解析这两个运算符的差异,帮助开发者更好地理解和应用。 首先,`&`和`&&`都可以用来进行逻辑与操作。这意味着只有当两个...

    数组名a和&a的区别

    数组名`a`和取地址运算符`&a`之间的区别可能会引发一些混淆,但理解它们的本质可以帮助我们更好地编写和理解C语言程序。 首先,让我们澄清数组名的概念。数组名`a`实际上是数组首元素的地址。这意味着当你使用`a`时...

    &#或&#x转中文.zip

    1. "&#160和&nbsp的区别-有的是16进制&#x四位数字.url":这可能是一个链接,指向一篇详细解释“ ”(非中断空格)和Unicode编码“ ”或“ ”之间区别的文章。在HTML中," "是一个预定义的实体...

    c#中(&&,||)与(&,|)的区别详解

    需要注意的是,&和|运算符对它们各自的运算对象来说,结果是一样的。 在实际编程中,我们可以使用(&&,||)逻辑运算符来实现复杂的逻辑判断,例如: var data = svc.DeclarationHeads.Include("TaxType").Where(f =>...

    Matlab中的逻辑运算&&与&与的区别_matlab运算实例源码.doc

    Matlab 逻辑运算符 &&、&、|| 和 | 的区别 Matlab 中的逻辑运算符 &&、&、|| 和 | 是用于逻辑判断和运算的符号,它们之间存在一些重要的区别。 首先,& 和 | 是逻辑运算符,它们可以比较两个标量或两个同阶矩阵。...

    **p与 *&p的区别, 即指向指针的指针和引用指针变量的区别

    理解这两者的区别,有助于更准确地掌握指针的操作和内存管理。 首先,我们需要明确**p的含义。当声明一个指针变量p指向另一个指针变量时,我们称之为指向指针的指针。具体来说,**p等价于*(*p),这意味着p首先是一...

    FXO、FXS、E&M接口的区别[参照].pdf

    FXO、FXS、E&M 接口的区别 FXO、FXS、E&M 接口是三种常见的模拟信令接口,用于电话机、PBX(私人分支交换机)和 VoIP 网络之间的连接。...它们之间的主要区别在于提供的馈电信号和振铃电压的方式。

    C++中运算符 &和&&、|和|| 的详解及区别

    C++中运算符 &和&&、|和|| 的详解及区别 简介: &&是逻辑与运算符,||是逻辑或运算符,都是逻辑运算符,两边只能是bool类型 &与| 既可以进行逻辑运算,又可以进行位运算,两边既可以是bool类型,又可以是数值类型 ...

    连接运算符的举例说明,+和&的区别,VB6.0源代码

    本文将深入探讨两种主要的连接运算符:`+`和`&`,并提供实例来帮助理解它们之间的区别。 首先,让我们了解`+`运算符。在VB6.0中,`+`运算符有两种功能。第一种是作为数学运算符,用于加法操作,例如`5 + 3`将返回8...

    AT&T汇编(linux汇编)

    AT&T汇编语法和Intel汇编在指令格式上有显著区别。在AT&T汇编中,操作数的顺序通常为“目的地”在前,“源”在后,而Intel汇编则相反。例如,`mov`指令在AT&T语法中写为`mov dst, src`,而在Intel语法中则是`mov ...

    一句话区分运算符 | 和 ||,& 和 &&

    结果上没有区别,运算过程中&两边都算,而 && 先算左侧,若左侧为 false 那么右侧就不运算了。 如何区分运算符 | 和 ||,& 和 &&? 首先,我们知道 | 和 & 定义为位运算符,|| 和 && 定义为逻辑运算符。 在区分...

    普中A2&普中A3&普中A4开发板原理图

    - **USB转TTL下载模块**:使用CH340G芯片实现USB与TTL电平之间的转换,方便用户通过USB接口进行程序下载和调试。 - **其他电源相关组件**:包括电容、电阻等,用于滤波和平滑电源信号。 ##### 3. 显示模块 - **LCD...

    java &与&&的区别及实例

    Java编程语言中,`&` 和 `&&` 都是用来进行逻辑运算的,但它们之间存在显著的区别。本文将深入探讨这两个运算符的工作原理、用法以及何时使用它们。 首先,`&` 是一个位运算符,同时也用作逻辑运算符。作为位运算符...

Global site tag (gtag.js) - Google Analytics