在逻辑运算种,有两对意思差不多的运算符,也就是与&和双与&&,或 | 和双或 ||,
在意思上来讲,都是一样的。简单的说就是&和&&都是并且的意思,而|和||相当于或者
的意思,既然一样,那么为什么会有两个呢?
1.&和&&
两者都表示和的意思,例如:
if(a>b&a>c) if(a>b&&a>c)
if是用于判断选择,也就是()里的值是一个boolean类型,判断的结果是两个true
or false,当a>b 并且a>c的情况那么就是true,否则就是false。
那么他们之间有什么区别呢?
if(4>4 & 6>5) if(4>4&&6>5)
左侧的&要对两边的表达式都进行判断,明明知道左边错了,答案也要对右边进行判断,
而&&,当左边为false的时候,右边的表达式就不执行,依然不影响if里面判断表达式的真假
2.|和||
if(5>4|2>3) if(5>4||2>3)
|和||只要判断当中有一个是正确的那么就是true,否咋就是false.当中|进行判断时是要
判断两个表达式是否都正确,而||判断第一个为true时,后面的表达式就不进行判断了。
两对运算符中,对后面一个表达式不进行判断的情况就叫做短路,就跟电路一样,短路了就
不经过那条线路了。