黑马程序员技术交流社区
标题:
if else if语句变成if if有什么不同,如代码
[打印本页]
作者:
王会涛
时间:
2014-11-11 13:24
标题:
if else if语句变成if if有什么不同,如代码
public class HalfSreach {
public static int halfSearch(int[] arr,int key)
{
int min,max,mid;
min=0;
max=arr.length-1;
mid=(min+max)/2;
while(key!=arr[mid])
{
if(key>arr[mid])
min=mid+1;
else
if(key<arr[mid])
max=mid-1;
mid=(min+max)/2;
if(min>max)
return -1;
}
return mid;
}
public static void main(String[] args) {
int[] arr={1,6,9,10,61};
System.out.println(halfSearch_1(arr, 6));
}
}
如果把else去掉,结果就不对了,为什么?
作者:
Doit
时间:
2014-11-11 15:30
差两分了
作者:
kakawin
时间:
2014-11-11 23:45
1、如果见到苹果买6个苹果,如果见到西瓜买1个西瓜。
2、如果见到苹果买6个苹果,否则,如果见到西瓜买1个西瓜。
第一个就是你在街上看到苹果就买6个苹果,见到西瓜就买1个西瓜,两者毫无关系。
第二个就是只有你买不到苹果的情况下见到西瓜才买西瓜,如果买到了苹果,无论是否见到西瓜都不会买西瓜。
这个else就是否则的意思。
作者:
有陷阱快跑丶
时间:
2014-11-12 00:09
mid=(min+max)/2;
if(min>max)
return -1;
好像是
if(min>max)
return -1;
mid=(min+max)/2;
顺序反了额 昨天刚看
作者:
Eagle
时间:
2014-11-12 08:13
if if是如果两个条件满足,就会都执行。任何一个满足都会执行
else if是当if语句不满足的情况,再满足自身的条件才执行。只能执行一个。
作者:
cbb
时间:
2014-11-12 08:34
就是如果(if)这个不行,那么(else)我就要那个
还有就是如果(if)这个不行,我不要了。
作者:
kang3214
时间:
2014-11-12 09:50
效率差一点点!
作者:
王世虎
时间:
2014-11-12 11:29
kakawin 发表于 2014-11-11 23:45
1、如果见到苹果买6个苹果,如果见到西瓜买1个西瓜。
2、如果见到苹果买6个苹果,否则,如果见到西瓜买1个 ...
老有见地了,这表达方式 赞一个
作者:
爱卿
时间:
2014-11-13 09:58
kakawin 发表于 2014-11-11 23:45
1、如果见到苹果买6个苹果,如果见到西瓜买1个西瓜。
2、如果见到苹果买6个苹果,否则,如果见到西瓜买1个 ...
看完这个解答 心中豁然开朗!
作者:
qinjingbo
时间:
2014-11-13 10:08
喜欢那个有关苹果的比喻。。
作者:
wf111sxwf
时间:
2014-11-13 11:29
3楼解释的 太屌了 我都想给他加分了~~
作者:
高昌德
时间:
2014-11-13 12:16
真是3楼出答案
作者:
Fightingforever
时间:
2014-11-13 19:40
楼主 我刚刚试了呀 无论有没有else 结果都是正确的 只是运行时候的效率问题而已 if(条件一) {情况一} else if(条件二){情况二},只是说当条件一满足的情况下不回去运行判断条件二,如果是if(条件一) {情况一} if(条件二){情况二},只是条件一和条件二没有任何关系都要判断!只是效率问题,没有说去掉else结果就不对这么一说吧!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2