`
edr_
  • 浏览: 169847 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

&&与&的区别

    博客分类:
  • J2SE
阅读更多

荒凉许久的博客.....今天就来写下&&与&之间的区别:

  • &&、&均可以作为逻辑运算符,表示逻辑"且(and)",只有当所有判断均为true时才返回true,否则只有出现一个false则返回false。
  • 其次&&还有短路的功能,这也是为什么叫做短路与的来源。“短路”,利用物理的常识也就是前方一旦有错误,后面一切免谈。也就是说在判断时,只要有false,后面的假如有类似于计数器之类的程序段或者可能抛出异常的程序段均不执行,也因此有可能会影响到程序的结果。例如:
//没有起到计数器的作用
if(str != null && i--!=0){
   System.out.print("测试&&与&之间的区别");
}
//如果使用&&的话就不会出现异常
if(str != null & !str.equals(“”)){
   System.out.print("测试&&与&之间的区别");
}
  • 而&则还有位运算的功能;

   当&两边均不是boolean类型的话则进行为运算,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位
例如:
0x31 & 0x0f的结果为0x01

 

分享到:
评论
2 楼 edr_ 2013-03-03  
wpf523 写道
应该是这样的吧?     && 起到短路作用,当str为null时不会执行后面程序段。
//如果使用&&的话就不会出现异常 
if(str != null & !str.equals(“”)){ 
   System.out.print("测试&&与&之间的区别"); 

正解!谢谢提醒!
1 楼 wpf523 2013-01-16  
应该是这样的吧?     && 起到短路作用,当str为null时不会执行后面程序段。
//如果使用&&的话就不会出现异常 
if(str != null & !str.equals(“”)){ 
   System.out.print("测试&&与&之间的区别"); 

相关推荐

    &和&&的区别

    虽然它们在基本功能上相似,但存在一些关键的区别,这些区别对于理解和编写高效的代码至关重要。 首先,两者都表示逻辑与,这意味着它们都需要两边的表达式都为真才能得到真(true)的结果。例如,如果 `x` 是 1,`...

    C语言中&和&&的区别

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

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

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

    java中&&和&的区别

    整个条件语句仍然为`false`,但`i`只自增了一次,与使用`&`的情况相比,减少了不必要的计算。 这种短路行为使得`&&`在处理可能有副作用的操作时更加安全和高效。例如,如果右边的表达式涉及到复杂的计算或调用方法...

    AT&T汇编语言与GCC内嵌汇编简介.pdf

    #### AT&T与INTEL汇编语言语法的区别 AT&T汇编语言与INTEL汇编语言在语法上有显著的不同,这些差异对于初学者来说可能会造成一定的混淆。理解这两种语法之间的区别非常重要,尤其是在使用GCC编译器时,因为GCC默认...

    AT&T汇编语言与GCC内嵌汇编简介

    AT&T与INTEL的汇编语言语法的区别 AT&T汇编语言与INTEL汇编语言在语法上存在一定的差异,这些差异主要体现在以下几个方面: ##### 1.1 大小写 - **INTEL格式**:指令使用大写字母。 - **AT&T格式**:指令使用...

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

    在 Matlab 中,if 和 while 语句中的逻辑与和逻辑或都是默认使用 short-circuit 形式。如果你希望在判断的时候,对 A 和 B 表达式都进行计算,就应该使用标准的&或者|。 此外,Matlab 中还有一些其他的运算符,如 +...

    AT&T汇编语言与GCC内嵌汇编简介[定义].pdf

    主要的区别在于: * 指令大小写:AT&T 汇编语言使用小写字母,而 Intel 汇编语言使用大写字母。 * 操作数赋值方向:AT&T 汇编语言的操作数赋值方向从左到右,而 Intel 汇编语言的操作数赋值方向从右到左。 * 指令...

    Matlab中的逻辑运算&&与&与的区别.pdf

    Matlab中的逻辑运算&&与&与的区别.pdf

    Matlab中的逻辑运算&&与&与的区别.docx

    Matlab中的逻辑运算&&与&与的区别.docx

    AT&T汇编语言与gcc内嵌汇编简介

    ### AT&T汇编语言与INTEL汇编语法的区别 #### 大小写 AT&T汇编语言与INTEL汇编语言在大小写使用上存在明显差异。INTEL汇编语言中,指令通常使用大写字母,例如`MOV AX, BX`;而AT&T汇编语言则使用小写字母,如`movl...

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

    C#中(&&,||)与(&,|)的区别详解 C#中(&&,||)与(&,|)是两种不同的逻辑运算符,它们之间的区别在于运算对象和运算结果。 一、(&&,||)逻辑运算符 (&&,||)逻辑运算符的运算对象是逻辑值,也就是True/False。&&相当于...

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

    与指针不同,引用一旦初始化后不能改变引用的对象,且不需要使用解引用操作符 `*`。 在程序中,`*str`,`&str` 和 `str` 可能会出现在以下几种情况: 1. `*str`:如果 `str` 是一个指针,`*str` 将表示解引用操作,...

    Java 逻辑运算符中&&与&,||与|的区别

    主要介绍了Java中&&与&,||与|的区别的相关资料,需要的朋友可以参考下

    &#或&#x转中文.zip

    标签“web”进一步确认了这个主题与Web开发技术相关。 压缩包内的文件名称列表提供了更多线索: 1. "&#160和&nbsp的区别-有的是16进制&#x四位数字.url":这可能是一个链接,指向一篇详细解释“ ”(非中断空格...

    java中&与&&的区别

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

Global site tag (gtag.js) - Google Analytics