consider this example please
int i=11, j=5; boolean b=true, c=false; System.out.println(b&c); // --> output=false System.out.println(i&j); // --&g
The first operation you do - TRUE & FALSE is taken as 1 & 0, which is false.
The second operation - 11 & 5 is taken as 1011 & 0101 (the binary values), which is 0001 when anded.