Java macht nach meiner Auffassung boolesche algebra. Und vor Oder
Genau das habe ich ja auch geschrieben. Daher ist die Auswertung einer Und Operation bei mehreren Oder-Operationen nicht aussagekräftig. Es müssen alle Teile, die mit Oder verknüpft werden, betrachtet werden (bis ein true Element gefunden wurde).
Mit dem Punkt / Strich Rechnungen, die ich erwähnt habe, besagt dies ja nur:
Wenn Du irgendwelche Ausdrücke (mit Multiplikation) addierst, dann ist das Gesamtergebnis nicht 0, nur weil ein Ausdruck, der addiert wird, eine Multiplikation mit 0 enthält.
Also ein a*b+c*0 ist als Ausdruck nicht 0 sondern erst einmal a*b.
Hier hat man aber ein a*0 + b*0 - daher kommt da zwar ein 0 raus, aber das liegt nicht an einer einzelnen Multiplikation mit 0.
Der Ausdruck ist daher false, weil auf beiden Seiten des Oder eine und-Verknüpfug mit false enthält,
true && false || true && false ist daher natürlich (true && false) || (true && false) - das kann man dann vereinfachen, wie man will...
a | a = a -> (true && false)
a&b | c&b = (a|c) & b -> (true | true) & false
...
Hier kann man sich vieles überlegen. Aber nur an EINEM der beiden && kann man da Endergebnis nicht feststellen.