教學(xué)大綱
- 何謂方法
- 方法的定義和調(diào)用
- 方法重載
- 命令行傳參
- 可變參數(shù)
- 遞歸
何謂方法
System.out.println() 類/對象/方法
JAVA方法是語句的集合,它們在一起執(zhí)行一個功能,,方法命名規(guī)則:首字母小寫,,駝峰命名規(guī)則
JAVA方法是語句的集合,他們在一起執(zhí)行一個功能
- 方法是解決一類問題的步驟的有序組合
- 方法包含于類或?qū)ο?/li>
- 方法在程序中被創(chuàng)建,,在其他地方引用
- 一個方法只完成一個功能,,有利于后期擴展,保持方法的原子性
方法的定義和調(diào)用
方法是一段用于完成特定功能的代碼片段
方法包括一個方法頭和方法體,,下面是一個方法的所有部分:
- 修飾符,,定義了該方法的訪問類型
- 返回值 void表示不返回
- 方法名
- 參數(shù)類型 實際參數(shù)(1,2)和形式參數(shù)(a,,b)
- 方法體
修飾符 返回值類型 方法名 (參數(shù)類型,,參數(shù)名){
方法體
return 返回值
}
JAVA是值傳遞,而不是引用傳遞
package com.liulibin.blog.experiences.method;
public class Demo2 {
public static void main(String[] args) {
int A = max (20,20);
System.out.println(A);
}
//比大小
public static int max(int num1, int num2){
int result= 0;
if (num1==num2){
System.out.println("num1==num2");
return 0; //終止方法
}
if (num1>num2){
result = num1;
}else{
result=num2;
}
return result;
}
}
方法和庫都能直接調(diào)用
方法的重載
重載就是在一個類中,,有相同的函數(shù)名稱,,但是形參不同的函數(shù)
package com.liulibin.blog.experiences.method;
public class Demo2 {
public static void main(String[] args) {
double A = max(20.1, 20.1);
System.out.println(A);
}
//比大小
public static int max(int num1, int num2) {
int result = 0;
if (num1 == num2) {
System.out.println("num1==num2");
return 0; //終止方法
}
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
//重載
public static double max(double num1, double num2) {
double result = 0.0;
if (num1 == num2) {
System.out.println("num1==num2");
return 0; //終止方法
}
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
}
命令行傳遞參數(shù)
可變參數(shù)(不定項參數(shù))
在方法的聲明中,在指定參數(shù)類型后加一個省略號...
可變參數(shù)必須在最后
遞歸(重點)
A方法調(diào)用A方法自己即遞歸
遞歸能大大減少程序的代碼量,,遞歸的能力在于用有限的語句來定義對象的無限集合
遞歸結(jié)構(gòu)包括遞歸頭(什么時候不調(diào)用自身,,如果沒有投將陷入死循環(huán))和遞歸體(什么時候需要調(diào)用自身方法)
package com.liulibin.blog.experiences.method;
public class Demo4 {
// 5! 5*4*3*2*1
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int n){
if(n==1){
return 1;
}else{
return n*f(n-1);
}
}
}
邊界條件:邊界,前階段,,返回階段n*f(n-1)
遞歸方便了程序員,,但是苦了電腦,占用了大量的電腦內(nèi)存
能不用遞歸就不用遞歸,,可以處理一些簡單問題
|