在上一章节讲到了简单的方法调用数组,这一章讲解return 返回值。

对于我们方法的命名也是有规范的,一个合格的技术员在命名方法的时候,大家注意,有两个单词的时候首字母一定要进行大写。就比如我们看到的printInfo这个方法,printInfo为Java的关键字,所以在这里就进行了小写,那么Info呢首字母大写。

接下来我们来讲解一下return返回值。返回到方法执行。看以下代码

public class key
{
 public static void main(String args[]){      
  int one = addOne(10,20);                           //调用整数的加法操作。
  float tow = addTow(10.3f,13.5f);               //调用float单精度浮点相加操作
  System.out.print("输出One的结果"+one+"\n");    //输出one
  System.out.print("输出Tow的结果"+tow);            //输出tow
 }

public static int addOne(int x, int y){                          //定义一个返回的类型 addOne 定义数据类型变量
 int temp = 0 ;                                                              //定义一个为整型的变量temp并初始值为0
  temp  = x+y ;                                                              //将x+y的值赋值给temp
  return temp ;                                                             //返回temp的值到方法处
}
  public static float addTow(float x ,float y){               //定义一个返回的类型    addTow定义数据类型变量
   float temp = 0;                                                           //定义一个为单精度浮点的变量temp并初始值为0
   temp = x+y;                                                               //将x+y的值赋值给temp
   return temp;                                                               //返回temp的值到方法处
  }

 

接下来我们来看以下return 怎么来结束方法:


}

在以上代码我们得出一个结论,可以使用return这个关键字对进行返回值。值得注意的是,我们要返回float必须要在方法调用处使用float对里面的方法进行定义。

接下来我们讲解的是方法重载。

什么是方法重载呢?

简单的说:方法重载  方法名字相同,但是参数的类型,和参数不同。通过传递参数的个数以及类型的不同完成方法的调用。

public class key
{
 public static void main(String args[]){
  int one = add(10,15);
  int two = add(10,15,13);
  float there = add(10.3f,15,5f);
  System.out.print("输出One:"+one);
  System.out.print("\n");
  System.out.print("输出Two:"+two);
  System.out.print("\n");
  System.out.print("输出there:"+there);
 }
  public static int add(int x ,int y){
   int temp = 0;
   temp = x+y ;
   return temp;
  }
  public static float add(float x , float y,float z){
   float temp = 0 ;
   temp = x+y+z ;
   return temp ;
  }
  public static int add(int x,int y,int z){
   int temp = 0;
   temp = x + y - z;
   return temp;
  }
}

 

这段的代码我就不给解释了。基本上跟着课程学习的朋友都能看得懂。那么这段代码执行了三次add的方法,也就是调用了三次同样的方法名,但是不会出错。这是为什么呢?刚才我们有讲过方法重载,看了吧,虽然方法的名字都一样,但是在Java中自动的去识别传递参数的个数以及传递的类型,进行放入计算。这下明白了吧。

 

public class key
{
 public static void main(String args[]){
  System.out.print("1.在调用fun方法之前:");
  fun(4);         //调用fun方法
  System.out.print("2.在调用fun方法之后:");

}
  public static void fun(int x){       //定义一个方法 返回的值是整型 定义fun方法 int x
   System.out.print(" \n ");     //输出换行
   System.out.print("3.进入fun方法:");   //输出3.进入fun方法:
   System.out.print(" \n ");                    //输出换行
    if(x==10){                                       //判断x是否等于10   值为真 执行什么?
    return;      //结束方法,返回被调用处
   }
   System.out.print("4.正常执行完毕fun()方法。");
  }

可以看以上的注解,使用return进行结束结束,当fun方法里的常量等于10的时候执行return,所以此段代码在我们打印的时候只出现输出123并没有出现4,这个是因为这个程序并没有执行完,而是通过if执行了 return结束方法导致没有执行打印4.。

我们可以将代码给修改一下我们再看结果:

public class key
{
 public static void main(String args[]){
  System.out.print("1.在调用fun方法之前:");
  fun(10);         //调用fun方法
  System.out.print("2.在调用fun方法之后:");

}
  public static void fun(int x){       //定义一个方法 返回的值是整型 定义fun方法 int x
   System.out.print(" \n ");     //输出换行
   System.out.print("3.进入fun方法:");   //输出3.进入fun方法:
   System.out.print(" \n ");                    //输出换行
    if(x==10){                                       //判断x是否等于10   值为真 执行什么?
    return;      //结束方法,返回被调用处
   }
   System.out.print("4.正常执行完毕fun()方法。");
  }

此时 调用方法的常量不再等于10了。那么这个方法就跳过if语句里面的代码进行执行。跳过if里的代码执行,就意味着不执行return ,执行另外一个。那么好,这段代码输出完整。

接下来我们讲解的是递归调用:

public class key
{
 public static void main(String args[]){
 System.out.print("计算的结果是:"+sum(100));
 }
 public static int sum(int num){
  if (num==1)
  {
   return 1;
  }
  else{
   return num+sum(num-1),
  }
 }
}

以上的代码就相当于:num+sum(99)+sum(98)…………直到1;