黑马程序员技术交流社区

标题: ..麻烦大家帮我看看是哪里写的不对啊..! [打印本页]

作者: 李杰鹏    时间: 2012-12-16 21:50
标题: ..麻烦大家帮我看看是哪里写的不对啊..!
本帖最后由 ——— 于 2012-12-17 00:28 编辑

我执行下面这个程序后发现 System.out.print(" return end!\n");   这个语句怎么都不执行..这是为什么啊.?麻烦大家帮我看看是哪里出了问题..

public static void returnDisplay()  
    {  
        for(int i=1; i<=100; i++)  
        {  
            if (98 == i)  
            {  
                return;  
            }  
            System.out.print(i+" ");  
        }  
        System.out.print(" return end!\n");  
    }  

作者: 孙辉辉    时间: 2012-12-16 22:05
因为当运行到i == 98 的时候,你已经return 了,也就是说已经跳出了这个函数,后面的就不执行了,所以System.out.print(" return end!\n");  这个句是不执行的
作者: 李杰鹏    时间: 2012-12-16 22:07
啊..我一直以为return只跳出循环..我去试试..
作者: 李杰鹏    时间: 2012-12-16 22:08
孙辉辉 发表于 2012-12-16 22:05
因为当运行到i == 98 的时候,你已经return 了,也就是说已经跳出了这个函数,后面的就不执行了,所以Syste ...

啊..我一直以为return只跳出循环..我去试试..
作者: 惠晖    时间: 2012-12-16 22:09
你都写了 return;  
了 下面的代码当然执行部了了啊
作者: 孙辉辉    时间: 2012-12-16 22:11
——— 发表于 2012-12-16 22:08
啊..我一直以为return只跳出循环..我去试试..

可以再看看入耳return 的作用
作者: 李杰鹏    时间: 2012-12-16 22:16
惠晖 发表于 2012-12-16 22:09
你都写了 return;  
了 下面的代码当然执行部了了啊

恩.谢谢..刚刚学习没多久..不知道return的作用范围..刚刚查了一下..现在知道了..
作者: hxc2008q    时间: 2012-12-16 22:22
break 才是跳出循环
作者: 高焕杰    时间: 2012-12-16 23:27
   主要是没明白break、continue 和、return的区别 :

1、break关键字只能在循环体内和switch语句体中使用:当break在循环体中被执行时主要用于结束其所处的循环;当break在switch中被执行时主要用于跳出该switch语句体。

2、continue关键字的作用是结束本次循环,进入下次循环。

3、return关键字用于函数(即方法)中,如果该关键字单独使用它的作用用于结束整个函数,否则它的作用除了结束整个函数以外还有一个功能——返回结果值。

   通览你的代码:当for循环进行到底98次的时候,此时i=98,这时会执行循环体中的判断分支结构,由于98 == i为true,所以会执行“return; ”代码,该代码执行后结束整个函数,也就是说后面的不在执行,所以“System.out.print(" return end!\n");”代码句是不执行的,控制台上自然也就没有“return end!”输出了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2