Java中的方法是什么?如何定义、使用方法

方法  

一、概念:  

  方法: 具有特定功能的一段代码,这段代码可以通过名字进行重复使用,从而达到代码简化的目的。

二、方法定义的步骤:

    1. 方法的声明 ---> 向外界说明自己的名字在调用的时候需要什么数据,能够为方法的使用者提供什么类型的数据   
        语法:
        public static 返回值类型 方法名(形式参数列表)
        
        public static java程序 张三(money a)
      
     返回值类型: 在调用方法之后,方法能够为方法的调用者提供什么类型的数据,
      它可以为任意的数据类型(基本数据类型& 引用数据类型) 特殊的数据类型 void 表示没有返回值

      方法名: 就是为这段代码起的一个名字 要求: 见名知意 命名规则 小驼峰

      形式参数列表: 在调用方法的时候,要求传入的数据类型 数据的个数

2. 方法的实现  ---> 对声明上的功能进行具体的代码实现 
    
        语法: 
            {
                方法的实现的代码; 
            }
            
        {
            // 1 搭建环境 
            // 2 写代码
            // 3 掉几根头发
            ......
        }    
 
三、方法的三要素:

  (1)方法名

  (2)返回值类型

  (3)形式参数列表(形参列表可以为空,因为有时确实不需要传入参数,根据实际情况确定是否传入形参)


四、方法定义的位置
  方法在类中和主方法并列 。

package  com.study.demo

//位置1
public class MyClass{
    //位置2
    public static void main(String[] args) {
        //位置3
    }
    //位置4
    
}
//位置5

  方法的位置在位置2或位置4.

 

五、方法的调用

  1. 无参数方法的调用
    语法: 方法名();
  2. 有参数方法的调用
    语法: 方法名(实际参数列表);

 

六、方法的参数

形式参数: 就是方法在调用的时候,给方法的调用者进行说明.在调用的时候需要什么类型的数据. ---> 变量的声明  
实际参数: 就是在方法调用的时候,真实为方法传入的真实数据. ---> 就是为形式参数进行赋值  

注意: 在方法调用的时候, 要求 实际参数和形式参数 的个数 顺序 类型 必须一一对应

 

七、方法返回值

  返回值: 在调用方法之后,方法能够为方法的使用者 返回一个什么类型的数据  

   return:  返回值

  用法:
    1. 用在有返回值类型的方法中, 作用是可以将返回值返回给方法的调用者
      语法: return 返回值
    2. 可以用在返回值类为 void的方法中,作用是 直接结束这个方法,当用在main方法中效果相当于 System.exit(0);

 

八、方法的执行内存分析

   栈内存: 是jvm中的一块内存空间,作用就是执行方法的
  栈内存的特点: 先进后出 first in last out 

  方法的执行:
    将方法的数据加载进栈内存     ---> 入栈 
    方法执行完毕,数据从栈内存销毁     ---> 出栈

 

九、方法的嵌套调用 

  就是在一个方法中调用另一个方法。

  如果调用的是自身,那么就是递归。递归有风险 使用需谨慎。

递归举例:

  利用递归的算法计算斐波那契数列 

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //求斐波那契数列的任意一项
        System.out.println("请输入你要求的位数是:");
        int num1 = sc.nextInt();
        if(num1 > 0){
            int reuslt = fibon(num1);
            System.out.println("斐波那契数列的第"+num1+"个数是:"+reuslt);
        }else{
            System.out.println("输入非法,请重新输入!");
        }
    }
    //求斐波那契数列
    public static int fibon(int n){
        if(n == 1){
            return 0;
        }else if(n == 2){
            return 1;
        }else if(n == 3){
            return 1;
        }else{
            return fibon(n-1)+fibon(n-2);
        }
    }

}

 

posted @ 2021-04-11 12:00  泰初  阅读(3508)  评论(0编辑  收藏  举报