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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李晓斌 黑马帝   /  2011-12-2 23:34  /  2984 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李晓斌 于 2011-12-2 23:57 编辑

if (条件)
{执行语句}
else if (条件)
{执行语句}
else if (条件)
{执行语句}
如果把上面两个else if 句全部写成if语句的话,那和原来的有什么区别嘛?(如下这个和我最上面那个比较的话)
if (条件)
{执行语句}
if (条件)
{执行语句}
if (条件)
{执行语句}

6 个回复

倒序浏览
本帖最后由 肖岑锋 于 2011-12-2 23:52 编辑

要看是什么情况下。一般来说,只是判断条件的话,就没有区别。
如果是下面这两个程序的话,就有点区别了:
第一个:
a = 11;
if(a>10){
        System.out.println(a);
              a = 4;
}
if(a<10){
          System.out.println(a);
}
第二个:
if(a>10){
        System.out.println(a);
              a = 4;
}
else if(a<10){
          System.out.println(a);
}
很明显,第一个输出11跟4。而第二个输出11。
就是说,如果if/if的话,判断了第一个if执行后,会再次判断第二个if,如果符合继续执行。如果是if/else if的话,判断条件只执行其中一个。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
肖岑锋 发表于 2011-12-2 23:51
要看是什么情况下。一般来说,只是判断条件的话,就没有区别。
如果是下面这两个程序的话,就有点区别了:
...

明白了,谢啦:lol
回复 使用道具 举报
同意楼上的说法,如果是if/if的话,判断了第一个if执行后,会再次判断第二个if,而且判断的条件语句没有必然的联系,如果符合都可以执行。如果是if/else if的话,判断条件则应该没有任何的交集,程序只能选择执行其中一个。 差不多睡了,奋斗的小马们,晚安。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
if (条件)
{执行语句}
else if (条件)
{执行语句}
else if (条件)
{执行语句}
这是一个多重判断语句。用来判断多个条件,这是一个语句。
而这个程序:
{执行语句}
if (条件)
{执行语句}
if (条件)
{执行语句}
是由多个单个的if语句组成的。iif语句只能判断一个条件,而if……elseif……elseif……else是可以用来判断多个条件。
希望对你有点帮助

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
简单讲:楼主上边的代码是一句代码,下边的代码是三句代码。
上边的只会执行其中的一句,先作判断,只要有一个条件的值为true,就执行,后边的代码就不作判断的(即使后边可能有满足的条件)。
下边的代码对于同一个条件会分别判断,因为它是三条独立的语句,会顺序执行。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
应国炎 黑马帝 2011-12-4 17:02:46
7#
简单的说:
if else 有排除功能,可以缩小范围,所以如果执行语句顺序不同,则结果也会不同,当然有些语句也就会执行不到。
if if则之间没有必然联系,全部都会再判断一遍,if执行语句谁前谁后,没有必然的关系,只要是满足条件则都会执行到

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马