学java不久,return何时该用,何时不该用,搞不清楚,哪位帮忙解释一下,谢谢   <%!
      long continueSum(int n)
          { int sum=0;
             for(int i=1;i<=n;i++)
              { sum=sum+i;
              }
            return sum;
          }
   %>
上面的用return和不用有什么区别呢

解决方案 »

  1.   

    return将方法(其他语言的叫函数)的计算结果返回给调用程序。举个小例子
    int add(int a, int b){
     return a+b;  //将a+b 的结果作为返回值返回给调用者计算使用
    }void invok(){
     int m=1,n=2;
     int sum = add(1,2)+1; //sum=4,是add()的返回值+1。如果没有返回值将报错,空值没法参与计算 //如方法计算结果不参与调用者的计算,有无return 都行
     add(1,2);
     
    }
    不知道这样说你是否明白
      

  2.   

    看你方法是否需要返回参数,如果需要就要return,不要的话就不用了。你写的代码需要返回long型就需要return
      

  3.   

    你可以把函数看成一台机器,
    比如搅拌机:你给它水泥、沙土、石子,它给你搅拌成混泥土(这时它return了混泥土给你)
    比如吸尘器:你只需要它给你把灰尘吸掉就行(这时你可以不需要它return)
      

  4.   

    再比如你给的这个方法,是计算N的累加和,当你调用的时候,需要这个sum的值,这时就需要retrun  如果不需要,这只在这个方法里累加一下,那就不需要return  
    当然如果需要这个返回值,就要用一个变量来保存返回的值,如
    long sum=continueSum(n)//求n的累加和
      

  5.   

    如果方法被定义成需要返回一个值,就要用return,如果不用就会报错,
    如果方法定义的返回类型定义成 void 则方法就不能用 return 如果用了也会报错,
      

  6.   

    就是如果你要调用一个方法帮你计算某个算法,然后算完你要用return把结果返回给调用这个计算方法的类或者其他方法
    大概是这样,呵呵。。
      

  7.   

    当然有区别了,你这个函数返回的是long型的值,而你的sum是一个局部变量,如果你不返回,
    调用这个方法的地方就取不到你要的合计值
      

  8.   

    <%!long continueSum(int n) 
       { int sum=0; 
         for(int i=1;i <=n;i++) 
             { sum=sum+i; 
             } 
           return sum; 
        }
              
               
      %> 
      <%
      long s=continueSum(100);
      out.print(s);
       %>
    这样试下就知道了不过一般不在jsp里写函数的
      

  9.   

    程序里调用某个有返回值的函数,需要用return 在那个函数里返回给调用的地方。
      

  10.   

    如果方法带返回值 ,那这个方法运行到最后一定要 return 一个值(对应返回类型的值)没有返回值(void) 如 void continueSum()  这个方法里面就不用 return;一般在方法中定义一个变量  用这个值作为返回的值 return 
      <%! 
          long continueSum(int n) 
              { int sum=0; 
                for(int i=1;i <=n;i++) 
                  { sum=sum+i; 
                  } 
                return sum; 
              } 
      %> 
    上面的用return和不用有什么区别呢
       如果不用return 的话    则方法声明的返回类型为void ,