public class Example { public static void main(String[] args) { int max = findMax(10, 20); System.out.println(max); } public static int findMax(int a, int b) { return (a > b) ? a : b; } }
1.2 方法的调用
调用方法时,通常采用 对象名.方法名(参数列表) 的格式。
根据方法是否返回值,调用方式也有所不同:
如果方法有返回值,调用结果可以被赋值给一个变量,如 int result = findMax(10, 20);。
public class OverloadExample { public static void main(String[] args) { System.out.println(add(10, 20)); System.out.println(add(10.5, 20.5, 30.5)); } public static int add(int a, int b) { return a + b; } public static double add(double a, double b, double c) { return a + b + c; } }
3. 命令行参数
可以通过命令行向Java程序传递参数,这些参数会被传递给 main 方法的 args 数组。
示例:
public class CommandLineArgs { public static void main(String[] args) { for (String arg : args) { System.out.println(arg); } } }
4. 可变参数
自JDK 1.5起,Java支持可变参数,允许方法接受不定数量的参数。
在方法声明中,通过在参数类型后添加三个点(...)来表示可变参数。
示例:
public class VarArgsExample { public static void main(String[] args) { displayMax(10, 20, 30, 40); } public static void displayMax(double... numbers) { if (numbers.length == 0) { System.out.println("No arguments provided"); return; } double max = numbers[0]; for (double num : numbers) { if (num > max) { max = num; } } System.out.println("The maximum value is: " + max); } }
5. 递归方法
递归是一种方法调用自身的编程技巧,适用于将大问题分解为小问题解决。
递归结构通常包括递归基(递归结束条件)和递归步(继续调用自身的方法)。
示例:
public class RecursionExample { public static void main(String[] args) { System.out.println(factorial(5)); } public static int factorial(int n) { if (n == 1) { return 1; } else { return n * factorial(n - 1); } } }