方法
一、概念:
方法: 具有特定功能的一段代码,这段代码可以通过名字进行重复使用,从而达到代码简化的目的。
二、方法定义的步骤:
1. 方法的声明 ---> 向外界说明自己的名字在调用的时候需要什么数据,能够为方法的使用者提供什么类型的数据 语法: public static 返回值类型 方法名(形式参数列表) public static java程序 张三(money a)
返回值类型: 在调用方法之后,方法能够为方法的调用者提供什么类型的数据,
它可以为任意的数据类型(基本数据类型& 引用数据类型) 特殊的数据类型 void 表示没有返回值
方法名: 就是为这段代码起的一个名字 要求: 见名知意 命名规则 小驼峰
形式参数列表: 在调用方法的时候,要求传入的数据类型 数据的个数
2. 方法的实现 ---> 对声明上的功能进行具体的代码实现 语法: { 方法的实现的代码; } { // 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); } } }