他の回答でカバーされているものを超えて、それは注目に値し、と&&
と||
は異なる優先順位を持っています。&
|
優先順位テーブルから抽出します(最優先順位が一番上になります)。
bitwise AND &
bitwise exclusive OR ^
bitwise inclusive OR |
logical AND &&
logical OR ||
これはあなたにとってどういう意味ですか?
&
とだけ、|
またはととだけ&&
に固執する限り、絶対に何もありません||
。
ただし、(優先順位が低い)よりも優先順位|
が高いため、それらを自由に混合すると、予期しない動作が発生する可能性があります。&&
||
つまり、と
は対照的に、とa && b | c && d
同じです。a && (b | c) && d
a && b || c && d
(a && b) || (c && d)
それらが同じではないことを証明するために、真理値表からの抜粋を検討してください。
a | b | c | d | (b|c) | (a&&b) | (c&&d) | a && (b|c) && d | (a&&b) || (c&&d)
F | T | T | T | T | F | T | F | T
^ ^
|- not the same -|
ORの優先順位をANDより高くしたい場合は、andを一緒に使用できますが、これはお勧めしません。|
&&
ただし、実際には、異なる記号を使用する場合は常に優先順位を明確にするために角かっこで囲む必要があります。つまり(a && b) || c
、(優先順位を明確にするための角かっこ)a && b && c
(角かっこは不要)。