方法(Method)是一段用来完成特定功能的代码块,类似于数学中的函数。它可以把复杂的代码组织成独立的单元,让程序更加模块化、易于维护
方法的语法
Java
[访问修饰符] [static] 返回值类型 方法名(参数列表) {
// 方法体
return 返回值; // 如果返回值类型不是void
}
各部分解释:
- 访问修饰符:控制方法的访问权限(如public、private)
- static:表示方法是静态的(可选)
- 返回值类型:方法执行后返回的数据类型
- 方法名:方法的名称,要符合命名规范
- 参数列表:方法接收的输入参数
- 方法体:方法的具体实现代码
代码示例
示例1:无返回值的方法
Java
public class MethodDemo1 {
// 定义一个无返回值的方法:打印欢迎信息
public static void printWelcome(String name) {
System.out.println("=== 欢迎使用学生管理系统 ===");
System.out.println("欢迎," + name + "!");
System.out.println("=========================");
}
public static void main(String[] args) {
// 调用方法
printWelcome("张三");
printWelcome("李四");
}
}
运行结果:
Java
=== 欢迎使用学生管理系统 ===
欢迎,张三!
=========================
=== 欢迎使用学生管理系统 ===
欢迎,李四!
=========================
示例2:有返回值的方法
Java
public class MethodDemo2 {
// 计算两个数的最大值
public static int getMax(int a, int b) {
if (a > b) {
return a;
} else {
return b;
}
}
// 计算学生平均分
public static double calculateAverage(int score1, int score2, int score3) {
int sum = score1 + score2 + score3;
double average = sum / 3.0;
return average;
}
public static void main(String[] args) {
// 调用getMax方法
int max = getMax(10, 20);
System.out.println("最大值:" + max);
// 调用calculateAverage方法
double avg = calculateAverage(85, 90, 78);
System.out.println("平均分:" + avg);
// 可以重复使用
double avg2 = calculateAverage(92, 88, 95);
System.out.println("第二个学生平均分:" + avg2);
}
}
运行结果:
Java
最大值:20
平均分:84.33333333333333
第二个学生平均分:91.66666666666667
示例3:完整的学生成绩管理示例
Java
public class StudentManager {
// 计算平均分
public static double calculateAverage(int[] scores) {
int sum = 0;
for (int score : scores) {
sum += score;
}
return (double) sum / scores.length;
}
// 判断成绩等级
public static String getGradeLevel(double average) {
if (average >= 90) {
return "优秀";
} else if (average >= 80) {
return "良好";
} else if (average >= 70) {
return "中等";
} else if (average >= 60) {
return "及格";
} else {
return "不及格";
}
}
// 显示学生信息
public static void displayStudentInfo(String name, int[] scores,
double average, String level) {
System.out.println("\n=== 学生成绩报告 ===");
System.out.println("姓名:" + name);
System.out.print("各科成绩:");
for (int score : scores) {
System.out.print(score + " ");
}
System.out.println("\n平均分:" + String.format("%.2f", average));
System.out.println("等级:" + level);
System.out.println("===================");
}
public static void main(String[] args) {
// 学生1的信息
String student1 = "张三";
int[] scores1 = {85, 90, 78, 92, 88};
// 学生2的信息
String student2 = "李四";
int[] scores2 = {95, 98, 92, 96, 90};
// 处理第一个学生
double avg1 = calculateAverage(scores1);
String level1 = getGradeLevel(avg1);
displayStudentInfo(student1, scores1, avg1, level1);
// 处理第二个学生
double avg2 = calculateAverage(scores2);
String level2 = getGradeLevel(avg2);
displayStudentInfo(student2, scores2, avg2, level2);
}
}
运行结果:
Java
=== 学生成绩报告 ===
姓名:张三
各科成绩:85 90 78 92 88
平均分:86.60
等级:良好
===================
=== 学生成绩报告 ===
姓名:李四
各科成绩:95 98 92 96 90
平均分:94.20
等级:优秀
===================
总结
最重要的知识点:方法的核心价值在于代码复用和逻辑封装
- 代码复用:一次编写,多次调用,避免重复代码
- 逻辑封装:将复杂功能拆分成小方法,提高可读性和可维护性
- 模块化设计:每个方法专注完成一个特定任务