class TestBitwiseAndLogical {

    public static void main(String[] args){
       
        // modified example from BB pg 159
        
        int i = 10;
        int j = 12;
        
        System.out.println("Original value of i: " + i);
        
        // i=3 is never evaluated
        if( (i<j) || (i=3) > 5 ) {}
        System.out.println("i is " + i + " after ||");
        
        // i=3 is always evaluated
        if( (i<j) | (i=3) > 5 ) {}
        System.out.println("i is " + i  + "  after |");                
        System.out.println();
    
        i = 10;
    
        // i=3 is never evaluated       
        if( (i>j) && (i=3) > 5 ) {}        
        System.out.println("i is " + i  + " after &&");        
        
        // i=3 is always evaluated       
        if( (i>j) & (i=3) > 5 ) {}        
        System.out.println("i is " + i  + "  after &");        
        
        
    }

}