为什么要使用方法?
假如需要我们写一段重复输出同一条语句的操作,如果我们用原始方法进行打印输出,这样会使我们的程序变得很臃肿,可读性也会变得非常差,为了解决代码的重复编写,可读性差的问题,我们就可以将这种需要进行重复操作的语句提取出来放在一个方法中,并给这个方法取名,这样当我们每次想要执行这个操作的时候直接通过调用这个方法即可,这种操作大大提高了程序的可读性
方法的定义格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...){ 方法体; return 返回值; }
方法格式的解释
修饰符:初期修饰符只需记住public static
返回值类型:用于限定返回值的数据类型
方法名:自己为方法起的名字,为了方便后续调用
参数类型、参数名:用于限定和接收传入的数据类型以及数据量
方法体:用来执行功能的代码
return:结束方法的时候,将返回值给调用者
方法的调用
若自己已经成功定义了一个方法,只需要在主函数中输入相应的方法名以及正确的传入参数即可。
方法的常见问题
-
方法在类中的位置放前放后无所谓,但是一个方法不能定义在另一个方法中
-
方法中的return类型必须返回值类型保持一致,若返回值类型为void型,则方法中不能包含return。
-
在return语句后面不能继续编写代码,return之后的语句为无效代码
-
方法定义成功之后若在主函数中没有调用此方法,则此方法不会执行,调用方法的时候必须严格匹配参数类型
-
调用有返回值的方法有三种方式:1.定义变量来接收返回值 2.直接输出调用 3.直接调用
-
调用无返回值的方法只有一种方式:直接调用法
public class Demo {
public static void main(String[] args) {
//调用有返回值的方法
//1.定义变量来接收返回值
int rs = sum(2,6);
System.out.println("和为:" + rs);
//2.直接输出调用
System.out.println("和为:" + sum(3, 8));
//3.直接调用
sum(5,9);
//调用无返回值的方法:直接调用
print();
}
public static int sum(int a,int b){
int c = a + b;
return c;
}
public static void print(){
System.out.println("Hello World");
}
}
注意: 调用有返回值的方法中最后一个直接调用,只是调用执行了方法并没有将方法的返回值接收使用。
方法案例
设计方法需要注意的三方面:
-
方法是否需要接收数据进行处理
-
方法是否需要返回值
-
方法要处理的功能
案例一、给1-n求和
分析:由于是给1-n求和,所以需要接收一个整数类型的形参n,而计算的结果也需要返回所以返回类型需要声明为int类型的,方法体内部需要进行1-n的求和,具体实现如下:
public class Demo2 {
public static void main(String[] args) {
int rs = add(5);
System.out.println("1-5的和为:"+rs);
int rs1 = add(100);
System.out.println("1-00的和为:"+rs1);
}
public static int add(int n){
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
}
运行结果:
案例二、判断一个数是整数还是奇数(要求:将判断结果输出)
分析:该案例需要实现奇偶数的判断,所以需要接受一个整数类型的参数,但是要求中说明需要将判断结果输出故该案例不用返回值,方法体内部只需执行判断奇偶数的过程,具体实现如下:
public class Demo3 {
public static void main(String[] args) {
judge(15);
judge(26);
}
public static void judge(int num){
if (num % 2 == 0){
System.out.println(num + "是一个偶数");
}else {
System.out.println(num + "是一个奇数");
}
}
}
运行结果: