1、方法
1.1 定義規則
通路修飾符 傳回值類型 方法名(參數類型1 參數1,參數類型2 參數2…){
方法體
}
示例:
public static int (int num1,int num2){
return;
}
具體代碼展示:
package Day05_method;
/**
* @author Ran
* @since JDK 1.8
*/
public class Demo02 {
public static void main(String[] args) {
print(3,"!");
strprintf();
print(4,"$");
strprintf();
print(5,"%");
}
public static void print(int num,String str){
for (int i=0;i<=num;i++){
for (int j=0;j<=i;j++){
System.out.print(str);
}
System.out.println();
}
}
public static void strprintf(){
System.out.println("-------------");
}
}
調用方法流程:

注意事項:
- 1.方法必須定義在類中
- 2.靜态方法隻能調用靜态方法,是以近期寫的方法需要加上static
- 3.方法可以重複調用,減少代碼量,提高代碼的複用性
- 4.方法隻做一件事
- 5.确定方法的作用,确定方法名,确定參數,确定傳回值類型
1.2 優點
好處:
- 減少代碼備援。
- 提高複用性。
- 提高可讀性。
- 提高可維護性。
- 友善分工合
1.3 方法的參數
多數情況下,方法與調用者之間需要資料的互動;調用者必須提供必要的數
據,才能使方法完成相應的功能。
代碼展示:
package com.qf.ran.method;
/**
* @author Ran
* @since JDK 1.8
* 編寫方法 計算2個整數的和并傳回
* 方法的傳回值類型由方法傳回的資料的資料類型決定
* 如果沒有傳回資料,則使用void
*/
public class Demo03 {
public static void main(String[] args) {
//1.調用方法并接受傳回值
int num = add(3,4);
System.out.println("num:"+num);
//2.調用方法不接收傳回值
add(4,5);
}
//計算2個數之和的方法
public static int add(int num1,int num2){
int sum = num1 +num2;
return sum;
}
}
1.4 重載
重載:
- 方法必須都在一個類中
- 方法的名字必須一樣
- 方法的參數清單不一樣 – 參數個數不一樣或者參數類型不一樣
- 與傳回值沒有關系
代碼展示:
package com.qf.ran.method;
/**
* @author Ran
* @since JDK 1.8
*
* 重載:
* 1.方法必須都在一個類中
* 2.方法的名字必須一樣
* 3.方法的參數清單不一樣 -- 參數個數不一樣或者參數類型不一樣
* 4.與傳回值沒有關系
*
*/
public class Demo05 {
public static void main(String[] args) {
add(1,2,3);
}
public static void add(){
System.out.println("添加方法");
}
//重複定義
/*public static void add(){
System.out.println("第二個添加方法");
}*/
//重載
public static void add(int num){
}
//重載
public static void add(String str){
}
//重載
public static void add(int num1,int num2){
System.out.println(num1+num2);
}
//重載
public static void add(int num1,int num2,int num3){
System.out.println(num1+num2+num3);
}
//重複定義 -- 參數個數一樣,參數類型一樣,形參名不一樣
/*public static void add(int num2,int num1){
} */
//重複定義 -- 參數個數一樣,參數類型一樣,傳回值類型不一樣
/*public static double add(int num1,int num2){
return 0.0;
}*/
}
5.2 形參與實參
定義文法:
public static void 方法名稱( 形式參數 ){
//方法主體
}
經驗:
- “形參”等價于“局部變量的聲明”。
調用文法:
- 方法名稱( 實際參數 );
經驗:
- “實參”等價于“局部變量的指派”。
作用:
- 方法的參數可以讓代碼功能更靈活、普适性更高,易于修改及維護。
1.5 遞歸
遞歸:
- 1.方法裡調用方法本身
- 2.方法裡有出口
代碼示例:
package Day05_method;
/**
* @author Ran
* @since JDK 1.8
*
* 遞歸:
* 1.方法裡調用方法本身
* 2.方法裡有出口
*
* 階乘:
* 1! = 1 = 1
* 2! = 1*2 = 1!*2
* 3! = 1*2*3 = 2!*3
* 4! = 1*2*3*4 = 3!*4
* ...
* n! = 1*2*3....*n = (n-)!*n
*
*/
import java.util.Scanner;
public class Demo06 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("輸入數字,計算其階乘:");
long num1 = input.nextLong();
if(num1<=0){
System.out.println("輸入有誤");
}else{
long num2 = recursion(num1);
System.out.printf("%d!=%d",num1,num2);
}
}
public static long recursion(long num){
if (num==1){
return 1;
}
return recursion(num-1)*num;
}
}
圖示講解: