Home / Java Programming / Operators and Assignments :: Discussion

Discussion :: Operators and Assignments

  1. What will be the output of the program?

    class SSBool
    {    
         public static void main(String [] args)     
        {         
           boolean b1 = true;      
           boolean b2 = false;    
           boolean b3 = true;   
          if ( b1 & b2 | b2 & b3 | b2 ) /* Line 8 */ 
               System.out.print("ok "); 
          if ( b1 & b2 | b2 & b3 | b2 | b1 ) /*Line 10*/
               System.out.println("dokey");  
         }
      } 
    

  2. A.

    ok

    B.

    dokey

    C.

    ok dokey

    D.

    No output is produced

    E.

    Compilation error

    View Answer

    Workspace

    Answer : Option B

    Explanation :

    The & operator has a higher precedence than the | operator so that on line 8 b1 and b2 are evaluated together as are b2 & b3. The final b1 in line 10 is what causes that if test to be true. Hence it prints "dokey".


Be The First To Comment