java吧 关注:1,301,398贴子:12,848,636

回复:【学习】【直播】【长期】【常见的面试题,标题要长长长长长

只看楼主收藏回复


if(a==b&c==d) 如果a!=b 它还会判断c==d这个表达式,是按位
if(a==b&&c==d) 如果a!=b 不会判断c==d这个表达式。这就是逻辑短路


IP属地:北京16楼2012-03-02 14:59
回复


    IP属地:辽宁17楼2012-03-02 15:01
    回复
      2026-04-14 19:07:56
      广告
      不感兴趣
      开通SVIP免广告

      if(a==b&c==d)是位运算还是逻辑运算。。。


      18楼2012-03-02 15:02
      回复
        6、请说出你所知道的线程同步的方法。
        wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
        sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。
        notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
        Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。


        IP属地:北京19楼2012-03-02 15:02
        回复
          if(a==b&c==d)明显是逻辑运算只是&和&&的运算方式不一样


          IP属地:北京20楼2012-03-02 15:09
          回复
            既然如此,为毛你说&和&&的区别是&是位运算符而&&是逻辑运算符呢?


            21楼2012-03-02 15:09
            回复
              7、final, finally, finalize的区别。<长期性用来坑大众的问题>
              final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。
              finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
              finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。


              IP属地:北京22楼2012-03-02 15:10
              回复
                我没说错啊,&是位运算,if(a==b&c==d)是逻辑运算表达式,&可以是逻辑中的与,但是它是位运算。


                IP属地:北京23楼2012-03-02 15:15
                回复
                  2026-04-14 19:01:56
                  广告
                  不感兴趣
                  开通SVIP免广告
                  误导性太强了。。。 你这么一说我会认为&不能做逻辑与。。。


                  25楼2012-03-02 15:18
                  回复
                    位运算、逻辑运算是什么?是运算方式运算过程,+是加法运算的运算符有错么?
                    &是位运算的运算符有错么?
                    &&是逻辑运算的运算符有错么?
                    if(a==b&c==d)整个是一个逻辑运算表达式,不是说&是逻辑运算


                    IP属地:北京26楼2012-03-02 15:20
                    回复

                      a==b&c==d
                      求详解,机器如何处理的。。。


                      27楼2012-03-02 15:23
                      回复
                        这是你的误解,不是我的误导
                        因为你没高清
                        if(a==b&c==d) 如果a!=b 它还会判断c==d这个表达式,是按位
                        if(a==b&&c==d) 如果a!=b 不会判断c==d这个表达式。这就是逻辑短路
                        所以会笼统的认为逻辑表达式里只存在逻辑运算,这才是问题的根源,我觉得是,您呢,我的好基友,


                        IP属地:北京28楼2012-03-02 15:24
                        回复
                          final能修饰方法中的参数么?求详解


                          29楼2012-03-02 15:24
                          回复
                            这是怎么按位的。。。求机器解释步骤


                            30楼2012-03-02 15:26
                            回复
                              2026-04-14 18:55:56
                              广告
                              不感兴趣
                              开通SVIP免广告
                              a==b&c==d
                              我们从逻辑上想,与关系 如果a b不等那这个表达式就false。&&就是这个意思
                              但是位运算不会,即使a!=b 它也会验证c d的 最后在判断a==b&c==d的真假
                              你可以测试下
                              String str=null;
                              if(1==2&str.charAt(0)=='1')
                              if(1==2&&str.charAt(0)=='1')
                              这个就能看出来,&会报空指针,说明是位运算
                              &&不会报,证明是逻辑运算
                              


                              IP属地:北京31楼2012-03-02 15:29
                              回复