眨眼间大三了,压力倍感而至。要说基础理论,大一大二也学得差不多了,大三也正是该磨刀的时候了。
但是由于自己刚进大学比较贪玩,导致基础知识不是很扎实,学的范围也不是很广。
很惭愧,到了大三,我也只会C++和JAVA,而且钻研的也不是很深。没办法,现在就开始准备把以前该学的
东西弥补上。
我写的博客其实很肤浅,我之所以写博客,是希望通过这种方式提高自己的计算机水平和表达能力。如果有错误
希望大家能够不吝赐教。
今天我想说的是逻辑表达式的“短路效应”
首先,大家应该都比较熟悉这两个符号: && 和 ||,它们都是二元逻辑运算符
一个是逻辑与,另一个是逻辑或。其实用法都很简单,而且用的频率也比较高。
“短路效应”就是说逻辑符号左右两边的表达式在一种情况下,左边的真值一旦确定,另一边的表达式就不会执行。
下面用C#演示一下:
using System;
namespace test
{
class Program
{
static private bool Print1(string msg)
{
Console.WriteLine(msg);
return true;
}
static private bool Print2(string msg)
{
Console.WriteLine(msg);
return false;
}
static void Main()
{
//测试&&
if (false && Print1("1")) ;
if (true && Print1("2")) ;
//测试||
if (false || Print2("3")) ;
if (true || Print2("4")) ;
}
}
}
执行结果:
对于&&符号,如果左边表达式为false,则右边表达式不会执行,即不会执行Print1(),如果左边表达式为true,则右边表达式会执行,即会执行Print1(),输出2
对于||符号,如果左边为true,则右边表达式不会执行,即不会执行Print2(),如果左边表达式为false,则右边表达式会执行,即执行Print2(),输出4。
意义:
如果能够预知逻辑表达式(除了!)左边表达式的真值,恰当安排两边的顺序,可以在一定程度上提高程序的执行效率!