对于初学算法的同学而言,与运算看似不常用,但是逻辑运算是计算机数据运算中最底层的操作。我们计算机的数据本质是0、1数字组合,越底层的操作,越是能理解数据运算的过程。我接下来简单介绍一下关于与运算的问题。
1.& 和 &&
我们知道&&和||是具有短路效应的,即只看前半部分就可以将整个表达式的真假判断出来,所以对整个表达式进行短路,节省了运行时间。
举例来说 :
对于上述的操作过程,判断语句中的n值不为2,因此前半部分为false,导致后续的n++语句被短路,因此最后的输出值为1.
那么对于&,会有什么样的结果呢?看如下的运行过程:
代码其余部分不会改变,只是判断语句中的&&变成&。运行结果为:
2.对于|与||也是同样的道理,这里不再过多介绍。
最后有一点提示,当然,我是深受其害哈哈。在判断语句中,如果是用逻辑运算连接的两个语句,不加括号就会产生错误的。这里是运算符优先级的问题,简要而言是:
逻辑——算数——关系——条件判断——赋值
如果有指正,请留言,谢谢大家。