在java中
运算符&&(与)
如果第一个条件为false,则不再计算第下一个条件
如果第一个条件为true,则计算下一个条件,如果下一个条件为false,则将此值返回,并不再进行下一个的计算
反之亦然
运算符 ||(或)
如果第一个表达式为true,则不再计算第二个表达式
如果第一个条件为false,则计算下一个条件,如果下一个条件为true,则将此值返回,并不再进行下一个的计算
双标签具有短路的功能,短路这个词形容的很形象
有 很 多 人 认 为 &&无 论 什 么 时 候 都 看 两 边 的 值, 若 值 都 是 true则 返 回 true, 若 有 一 个 是 false就 返 回 false。 根 据 这 种 理 解 得 到 的 结 果 与 前 述 理 解 得 到 的 结 果 一 样, 但 是, 运 算 量 不 一 样。
这种描述其实说的是单运算符: & |
& | : 会把所有的判断条件走一遍
然后&运算看 两 边 的 值, 若 值 都 是 true则 返 回 true, 若 有 一 个 是 false就 返 回 false
反之
| 运算看 两 边 的 值, 若 值 都 是 false则 返 回 false, 若 有 一 个 是 true就 返 回 true