Java的方法相似於其餘語言的函數,是一段用來完成特定功能的代碼片斷,聲明格式:
[修飾符1 修飾符2 ...] 返回值類型 方法名 (形式參數列表){
Java語句; ... ... ...
}
形式參數:在方法被調用時用於接收外界傳入的數據。
實參:調用方法時實際傳給方法的數據。
返回值:方法在執行完畢後返還給調用它的環境的數據。
返回值類型:事先約定的返回值的數據類型,如無返回值,必須給出返回值類型void。java
Java語言中使用下述形式調用方法:對象名.方法名(實參列表)
實參的數目、數據類型和次序必須和所調用方法聲明的形參列表匹配,
return 語句終止方法的運行並指定要返回的數據函數
Java 中進行函數調用中傳遞參數時,遵循值傳遞的原則:
基本類型傳遞的是該數據值的自己。
引用類型傳遞的是對對象的引用,而不是對象自己。spa
TestMethod.java public class TestMethod { public static void main (String[] args) { m(); m2(2); m3('3', 4); m4(4, 6); int i = m4(4, 6); System.out.println(i); } public static void m() { //return; System.out.println("ok"); System.out.println("hello"); } public static void m2(int i) { if (i > 3) return; System.out.println(i); } public static void m3(int i, int j) { System.out.println(i + j); } public static int m4(int i, int j) { return i > j ? i : j; } } C:\Users\root\Desktop>javac TestMethod.java C:\Users\root\Desktop>java TestMethod ok hello 2 55 6
TestMethod2.java public class TestMethod2 { public static void main (String args[]) { System.out.println(method(5)); } public static int method(int n) { if (n == 1) return 1; else return n*method(n-1); } }
TestMethod3.java public class TestMethod3 { public static void main(String args[]) { System.out.println(f(50)); } public static int f(int n) { if (n == 1 || n == 2) { return 1; } else { return f(n - 1) + f(n - 2); } } }
public class Fab { public static void main (String[] args) { System.out.println(f(5)); } public static long f(int index) { if (index == 1 || index == 2) { return 1; } long f1 = 1L; long f2 = 1L; long f = 0; for (int i=0; 1<index-2; i++) { f = f1 + f2; f1 = f2; f2 = f; } return f; } }