A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ldk1991125 中级黑马   /  2016-6-25 10:01  /  1887 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

if(表达式1){
语句块1;
}
if(表达式2){
语句块2;
}
然后有一个else连接的情况
if(表达式1){
语句块1;
} else if(表达式2){
语句块2;
}
这两种语句区别在哪里?

15 个回复

倒序浏览
        //这种通常这2个if的表达式的量不会有太多关系
        if(表达式1)
        {
        语句块1;        //如果表达式1为真,则执行语句1;如果表达式1为假,则继续程序
        }
        if(表达式2)
        {
        语句块2;        //如果表达式2为真,则执行语句2;如果表达式2为假,则继续程序
        }
       
        //这种通常表达式1和表达式2的内容有较高的相关度
        if(表达式1)
        {
        语句块1;        //如果表达式1为真,则执行语句1,后面的不执行了;如果表达式1为假,则进入else if判断
        }
        else if(表达式2)
        {
        语句块2;        //如果表达式2为真,则执行语句2,;如果表达式2为假,则继续程序
        }

不知道能不能方便你理解~~
回复 使用道具 举报 1 0
如果前面的 表达式 为假,才会执行else if。
回复 使用道具 举报 1 0
blackcard 发表于 2016-6-25 22:35
//这种通常这2个if的表达式的量不会有太多关系
        if(表达式1)
        {

也就是说在第一个结构里,不论第一个if表达式是否成立,第二个都会判断一次是否执行;在第二个结构里,只有第一个表达式为假,才会继续判断第二个if语句。是这样么
回复 使用道具 举报
ldk1991125 发表于 2016-6-25 22:59
也就是说在第一个结构里,不论第一个if表达式是否成立,第二个都会判断一次是否执行;在第二个结构里,只 ...

是的 因为在第一个里面 其实就是 进行了 2次独立的判断, 比如你可以先判断A真假,再判断B真假,但是A和B之间可以没有什么关系,而后者else if是对前面if的判断假之后的一种补充判断~~~
回复 使用道具 举报
ldk1991125 发表于 2016-6-25 22:59
也就是说在第一个结构里,不论第一个if表达式是否成立,第二个都会判断一次是否执行;在第二个结构里,只 ...

是的 因为在第一个里面 其实就是 进行了 2次独立的判断, 比如你可以先判断A真假,再判断B真假,但是A和B之间可以没有什么关系,而后者else if是对前面if的判断假之后的一种补充判断~~~
回复 使用道具 举报
这个就很基础了,看书就能明白了!else if相当于 if 的扩展 if 下雨{XXX} else if 下雪{XXX};
回复 使用道具 举报
<一>:
if(表达式1){
语句块1;
}
if(表达式2){
语句块2;
}
如上,当单独出现两个if时,每个if都要执行。
<二>:
if(表达式1){
语句块1;
} else if(表达式2){
语句块2;
}
如上,当两个if之间有一个else时,先执行第一个if的表达式1,为真是只执行语句块1,余下的都不执行了;表达式1为假时,就执行表达式2,表达式2为真时执行语句块2,表达式2为假时什么都不执行。

回复 使用道具 举报
很简单:
第一种写法,表达式1和表达式2都会计算,哪个为真就执行哪个,两个都为真,则语句块1和2都执行。

第二种写法,先计算表达式1,如果它为真,就执行语句块1,执行完后跳过else if 后面的语句。如果表达式1为假,则计算表达式2。
回复 使用道具 举报
第一种语句
回复 使用道具 举报
第一种语句
if(表达式)//当上面这个表达式的条件成立的时候才会执行下面花括号里的代码
{

}else    //如果上面的表达式条件不成立,就会执行else 花括号中的代码
{

}
第二种语句
if(表达式1)
{
语句块1;//当表达式1条件成立的时候,执行语句块1
} else if(表达式2)
{
语句块2;//如果表达式1不条件成立,程序就会往下执行判断表达式2条件是否成立,成立则执行语句块2,不成立就不执行
}
回复 使用道具 举报
kakam 中级黑马 2016-7-11 00:21:28
12#
明显不同:
两个条件互不相关,没有影响:
第一个好比:如果是本科毕业生应该怎么样+家如果在外地的应该怎么样!
而第二个意思则是:如果神本科生应该怎么样,不是本科生在外地的应该怎么样!

也就是说第二个条件的集合中对于第一个集合的有无不一样!
         
回复 使用道具 举报
这两种没什么区别吧,后一个应该还有个else才完整吧

点评

你....简直对不起你15点技术分  发表于 2016-7-11 01:40
回复 使用道具 举报
范围不同,第二个的范围更大.具体楼上都有解释,并不相同.
回复 使用道具 举报
不想长大 发表于 2016-7-11 01:05
这两种没什么区别吧,后一个应该还有个else才完整吧

这都被你看出来了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马