2) "&" und "|" sind bit-wise operatoren ... würden also bei primitiven datentypen rechnen statt logisch vergleichen
if(doSomething() & doWhatever())
if(doSomething() && doWhatever())
public static void main(String[] args) {
boolean allEven = checkEven(2) && checkEven(4) && checkEven(5) && checkEven(6);
System.out.println("All even: " + allEven);
System.out.println("");
allEven = checkEven(2) & checkEven(4) & checkEven(5) & checkEven(6);
System.out.println("All even: " + allEven);
}
private static boolean checkEven(int i) {
System.out.println("checking " + i);
return i % 2 == 0;
}