if…if…和if…else if的区别是什么?

如题,学了一年的编程这个问题从来没思考过…最近看刘汝佳的白书看到这个问题,提问一下
关注者
35
被浏览
397,433
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏
if (条件1)
{
    //语句1
}

if (条件2)
{
    //语句2
}

这种格式中,程序会依次判断条件1和条件2是否成立并根据结果决定是否执行语句1和语句2,也就是说,第一个 if 块和第二个 if 块没有影响(除非在执行第一个 if 块的时候就凶残地 return 了)

而下面这种格式,

if (条件1) 
{
    //语句1
}
else if (条件2)
{
    //语句2
}

if 块和 else if 块本质上是互斥的!也就是说,一旦语句1得到了执行,程序会跳过 else if 块,else if 块中的判断语句以及语句2一定会被跳过;同时语句2的执行也暗含了条件1判断失败和语句1没有执行;当然还有第3个情况,就是条件1和条件2都判断失败,语句1和语句2都没有得到执行。