黑马程序员技术交流社区

标题: 新人刚开始学有个问题感觉有点不理解 [打印本页]

作者: 刘凯旋    时间: 2014-2-28 15:03
标题: 新人刚开始学有个问题感觉有点不理解
本帖最后由 刘凯旋 于 2014-3-4 19:03 编辑

||和|的区别,&和&&的区别?这些在什么地方用啊?也就是什么时候用?
作者: 我叫MT    时间: 2014-2-28 15:26
||是短路,|是或,||:当左边为true时右边就不用参与运算了,结果为true,当左边为false时再判断右边是否为true,而|不管俩边是否为true都参与运算~&无论左边是否为true,右边也要运算,而&&当左边为false时右边就不运算了结果是false,只有左边为真时才判断右边,作用也就是用于判断条件比如if,for什么的
作者: 陈湘林    时间: 2014-2-28 18:24
逻辑运算符(&&而且,||或者)
表达式1&&表达式2,有假即假
表达式1||表达式2,有真即真
       
  1. System.out.println(1!=2||2==3);
复制代码

作者: 年少丶    时间: 2014-2-28 19:57
1.与(&,&&)和或(|,||)的区别
1.1使用与操作的时候,要求前后几个表达式的内容都是true,最终结果才是true,如果有一个是false,则最终结果就是false;
  1.2使用或操作的时候,要求前后几个表达式只要有一个true,则最终结果就是true,如果全都是false,则最终结果才是false;

2.与(&)和短路与(&&)的区别以及或(|)和短路或(||)的区别

这点在初学者中,疑惑的人会比较多
先说与操作:既然与操作要求前后几个表达式的内容都是true的时候最终结果才是true,如果使用短路与,则只要第一个结果是false,则整体结果肯定是false,但是程序在这个时候是不会继续执行下去的,相反,如果不是短路与,即使第一个结果是false,程序依然会执行其他的结果下去,虽然最终结果都是一样,给个例子,清楚一点:

Java代码  收藏代码

    public class Test1{  
        public static void main(String args[]){  
            if(10!=10&10/0==0){  
                System.out.println("条件满足") ;  
            }  
        }  
    };  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2