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。
展开
 我来答
Christ_earl
2009-11-02 · TA获得超过1245个赞
知道小有建树答主
回答量:239
采纳率:0%
帮助的人:0
展开全部
当你的程序走到return 的时候就退出了
return 就是直接跳出你的方法find()
return 就直接跳出循环了 不论循环条件是否成立
for(int i = 0 ; i<1000000;i++){
if (i = 500 ) return ;
}
当i = 500 是就会跳出for循环
一个方法中 看见return就结束呗
也就是说 一个方法如果没有选择语句的话 只能有一个return
宇思彤豆澄
2019-09-22 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:31%
帮助的人:920万
展开全部
当你的程序走到return
的时候就退出了
return
就是直接跳出你的方法find()
return
就直接跳出循环了
不论循环条件是否成立
for(int
i
=
0
;
i<1000000;i++){
if
(i
=
500
)
return
;
}
当i
=
500
是就会跳出for循环
一个方法中
看见return就结束呗
也就是说
一个方法如果没有选择语句的话
只能有一个return
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
怀新垒fb
2009-11-02 · TA获得超过378个赞
知道小有建树答主
回答量:391
采纳率:100%
帮助的人:361万
展开全部
a[curIn]==searchKey时;return curIn; 也就退出
lowerBound > upperBound时;return nElems; 也就退出
其实return 就是退出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhou_qwert
2009-11-02
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
return 有两用途。一:返回什么值。二:退出当前方法,并返回那个值。
while里面要是没有遇到return 就不会退出方法,就一直执行while循环。遇到return时,true没有变成false,但此时必须退出方法,方法里面的代码就不会执行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4fee1d0
2009-11-02 · TA获得超过340个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:274万
展开全部
上面的方法 是在return语句处退出的。return语句,就是返回当前数据,结束本方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式