永发信息网

跪求各位大侠,while()语句,当判断满足条件,执行完执行体之后,还会继续循环吗,以下的例子会循环几次

答案:2  悬赏:10  手机版
解决时间 2021-04-06 20:38
跪求各位大侠,while()语句,当判断满足条件,执行完执行体之后,还会继续循环吗,以下的例子会循环几次
最佳答案
while( )的循环结构,就是满足条件才循环,不满足就不循环了。
如果一开始就不满足,则循环体一次都不执行。
你的循环体中有一句 return x;
这样好象造成:循环体无论如何最多也只能执行一次了!
按你的函数“功能”,应该把循环体中的那句(if ... else 之后的return)去掉。追问嗯嗯,同意把if...else之后的return去掉,要是把return去掉后会继续循环下去吗?while()语句可以循环是吗?不用重复调用吧追答你是刚开始学编程吧。
你这是求两个整数的最大公约数嘛,if 语句之后的那个 return本来就不应该用的。
用了那一句,就不能得到正确结果了。
while( )是先判断循环条件,再按“判断结果”决定是否执行循环。
如果条件一开始就是false,循环体一次都不执行。
循环体按语句流程执行完后,会再一次对循环条件进行判断,
(执行流程中,执行到了强制跳出循环体的语句除外)
条件为true继续执行,为false就不再执行循环体了。
还有一个就是,函数尽量采用“单出口”的流程,这样逻辑不会显得“乱”。
你的那个局部变量k其实也是多余的,完全可以用已经定义好了的变量 t 。
我觉得这样写比较好(当然,实际还应该在while()前判断y是否小于1,否则不正确):
public int def(int x , int y){
    int t; 
    if(x        t = x;
        x = y;
        y = t;
    }
    while(y!=0){
        if(x==y) break;
        else{
            t = x % y;
            x = y;
            y = t;
                
        }
    }
    return x;
}你的这个例子中,调用这个函数的执行流程就是:

调用时传入参数a=8,b=12,这样x=8,y=12。
if条件为true,交换变量的值,x=12,y=8。
while( ) 条件为true,进入循环体,
第一轮循环,if条件为false,执行else部分,x=8, y = 4
while( ) 条件为true,进行第二轮循环。if条件为false,执行else部分,x=4, y = 0。
这时while( ) 条件为 false了,不再进入循环体。
然后返回x 的值,就是4了。
这样,求得8和12的最大公约数为4。
全部回答
第一次运行后 x=8 y= 4
第二次运行后 x=4 y=0
第三次 不满足条件 跳出
所以执行两次
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单选题一定温度和压强下,2体积AB2气体和1体
觉得自己变了一句,刚刚认识我什么感觉搞笑句
弱水三千只取一瓢饮与之相反的诗词
珠海保税区永健保健食品有限公司是传销吗??
剑灵藏宝库怎样才能开到好东西
大势至菩萨有拿玉如意的吗?
如图所示,上海世博会开幕式烟火表演时燃放的
彩虹岛怎么弄便宜的宠物
爱华nsx550g组合音响,CD读碟但不出声,磁带
cf鼠标垫,我打ak m4 awm 炮,赛睿 雷神 罗技
想问一首歌的歌名和歌手,不是大s唱的泡沫美
春夜喜雨这首诗是什么
衬塑管的国标企标是什么标准的厚度?
“凡贪污罪都是故意犯罪;该行为是故意犯罪,
我3月的鹩哥到现在不说话只会转喉是什么原因
推荐资讯
六九刚好被三除 是什么数字
收到普通汇兑什么意思,银行短信发的小额汇兑
我们什么保护地球用持字组词
在(1+x+x2)(1-x)10的展开式中,含x4项的
农业银行的卡去农村信用社取款2000元收多少手
如何让合成核桃上色更逼真
某镇居民喜食鸡肉和羊肉,近几年镇政府大力提
被耍了的句子,被耍了心情不好的句子
联想游戏本和戴硕游戏本哪个好?
qq三国的qq图标怎么点亮
南阳什么地方卖狗
打算在汤圆创作里发花千骨同人,因为用了花千
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?