今天对Java方法进行巩固练习,包括方法定义、参数传递、重载、递归、工具类封装,通过完整代码加深理解。
一.方法基础与综合案例
public class MethodPractice {// 1. 静态方法:求两个int类型数的和public static int add(int a, int b) {return a + b;}// 2. 方法重载:求三个int类型数的和public static int add(int a, int b, int c) {return a + b + c;}// 3. 无返回值方法:打印数组public static void printArray(int[] arr) {System.out.print("数组元素:");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}System.out.println();}// 4. 有返回值方法:求数组最大值public static int getMax(int[] arr) {int max = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i] > max) {max = arr[i];}}return max;}// 5. 递归方法:求n的阶乘public static int factorial(int n) {if (n == 1) {return 1;}return n * factorial(n - 1);}// 主方法:程序入口public static void main(String[] args) {// 调用求和方法int sum1 = add(10, 20);int sum2 = add(10, 20, 30);System.out.println("10 + 20 = " + sum1);System.out.println("10 + 20 + 30 = " + sum2);System.out.println("------------------------");// 调用数组相关方法int[] arr = {11, 22, 33, 44, 55};printArray(arr);int max = getMax(arr);System.out.println("数组最大值:" + max);System.out.println("------------------------");// 调用递归方法int n = 5;int result = factorial(n);System.out.println(n + "的阶乘是:" + result);}
}
二、运行结果
10 + 20 = 30
10 + 20 + 30 = 60
数组元素:11 22 33 44 55
数组最大值:55
5的阶乘是:120
三、知识点总结
- 方法定义:修饰符、返回值类型、方法名、参数列表、方法体。
- 方法重载:方法名相同,参数列表不同(个数、类型、顺序)。
- 参数传递:基本类型传递值,引用类型传递地址。
- 递归:方法调用自身,必须有出口,否则栈溢出。
- 代码规范:方法功能单一,见名知意,便于复用和维护。
