且つ・又は

 「且(か)つ」は、繋がれた条件を全て満たさなくてはいけません。

 一方「又(また)は」は、繋がれた条件のうち1つでもいいから満たせばいいです。

 優先順位は「且つ」の方が高いので、「且つ」で繋ぐ条件はカッコで囲むべきか考える必要があります。例えば

if(a == 0 && b == 0 || c == 0)

は「a と b が 0 であるか、c が 0 であるかのどちらかならば」となり、

if(a == 0 && (b == 0 || c == 0))

は「a が 0 であり、b または c が 0 であるならば」となります。