方法
一、概念:
方法: 具有特定功能的一段代碼,這段代碼可以通過名字進行重復使用,從而達到代碼簡化的目的。
二、方法定義的步驟:
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); } } }