java,while(true),什么时候退出?
publicintfind(longsearchKey){intlowerBound=0;intupperBound=nElems-1;intcurIn;while(tr...
public int find(long searchKey)
{
int lowerBound = 0;
int upperBound = nElems-1;
int curIn;
while(true)
{
curIn = (lowerBound + upperBound ) / 2;
if(a[curIn]==searchKey)
return curIn;
else if(lowerBound > upperBound)
return nElems;
else
{
if(a[curIn] < searchKey)
lowerBound = curIn + 1;
else
upperBound = curIn - 1;
}
}
}
上面的代码:while的条件一直是true那什么时候推出循环?
ps:我的意思是,返回数字后,为什么while就是false了.
思路:一个方法中,看见return就结束。也就是说,一个方法如果没有选择语句的话,只能有一个return。 展开
{
int lowerBound = 0;
int upperBound = nElems-1;
int curIn;
while(true)
{
curIn = (lowerBound + upperBound ) / 2;
if(a[curIn]==searchKey)
return curIn;
else if(lowerBound > upperBound)
return nElems;
else
{
if(a[curIn] < searchKey)
lowerBound = curIn + 1;
else
upperBound = curIn - 1;
}
}
}
上面的代码:while的条件一直是true那什么时候推出循环?
ps:我的意思是,返回数字后,为什么while就是false了.
思路:一个方法中,看见return就结束。也就是说,一个方法如果没有选择语句的话,只能有一个return。 展开
6个回答
展开全部
当你的程序走到return
的时候就退出了
return
就是直接跳出你的方法find()
return
就直接跳出循环了
不论循环条件是否成立
for(int
i
=
0
;
i<1000000;i++){
if
(i
=
500
)
return
;
}
当i
=
500
是就会跳出for循环
一个方法中
看见return就结束呗
也就是说
一个方法如果没有选择语句的话
只能有一个return
的时候就退出了
return
就是直接跳出你的方法find()
return
就直接跳出循环了
不论循环条件是否成立
for(int
i
=
0
;
i<1000000;i++){
if
(i
=
500
)
return
;
}
当i
=
500
是就会跳出for循环
一个方法中
看见return就结束呗
也就是说
一个方法如果没有选择语句的话
只能有一个return
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a[curIn]==searchKey时;return curIn; 也就退出
lowerBound > upperBound时;return nElems; 也就退出
其实return 就是退出
lowerBound > upperBound时;return nElems; 也就退出
其实return 就是退出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
return 有两用途。一:返回什么值。二:退出当前方法,并返回那个值。
while里面要是没有遇到return 就不会退出方法,就一直执行while循环。遇到return时,true没有变成false,但此时必须退出方法,方法里面的代码就不会执行了。
while里面要是没有遇到return 就不会退出方法,就一直执行while循环。遇到return时,true没有变成false,但此时必须退出方法,方法里面的代码就不会执行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面的方法 是在return语句处退出的。return语句,就是返回当前数据,结束本方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询