方法的定义
Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,并且起一个名字。使用代码的时候,直接找到名字调用即可。
首先方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
- **修饰符:**修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
- 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。
- **方法名:**是方法的实际名称。方法名和参数表共同构成方法签名。命名规则和变量一样。
- **参数类型:**参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
- **方法体:**方法体包含具体的语句,定义该方法的功能。
首先了解关于方法的两个概念:
1.**参数:**是指进入方法中的数据,有了这些数据,方法才能执行逻辑。
2.**返回值:**是指从方法中出来的数据,也就是方法执行之后的最终结果数据。必须和返回值类型保持对应。
目前定义方法的基本格式:
修饰符 返回值类型 方法名称(参数类型 参数名称, …){
方法体
return 返回值;
}
方法的调用
1.单独调用: 方法名称(参数);
sum(10,20);
}
public static void sum(int a, int b){
int result = a + b;
System.out.println(result);
}
2.打印调用: System.out.println(方法名称(参数));
public static void main(String[] args) {
System.out.println(sum(20,40));
}
public static int sum(int a, int b){
int result = a + b;
return result;
}
3.赋值调用: 数据类型 变量名称 = 方法名称(参数);
public static void main(String[] args) {
int win = sum(100,50);
System.out.println(win);
}
public static int sum(int a, int b){
int result = a + b;
return result;
}
方法的注意事项
- 方法定义在类中,但是不能在方法中再定义方法,不能嵌套.
- 方法定义前后顺序无所谓.
- 方法定义之后不会执行,要想执行必须进行调用,无返回值的方法—void类型只能用单独调用,
- 如果方法有返回值,那么必须写上"return 返回值;",不能没有.
- return后面的返回值类型必须和方法定义的返回值类型相同.
- 对于一个void没有返回值的方法,要么不写return,写的话只能写return;
- 一个方法中可以有多个return语句,但是必须保证同时只有一个会被执行.两个return不能连写.
方法的重载
多个方法的名称一样,但是参数列表不一样.只需要记住一个方法名,就能实现类似的多个功能.
方法重载与下列因素相关:
- 参数的个数不同
public static int sum(int a,int b){
return a+b;
}
public static int sum(int a,int b,int c){
return a+b+c;
}
- 参数的类型不同
public static int sum(int a,int b){
return a+b;
}
public static int sum(double a,double b){
return (int)(a+b);
}
- 参数的多类型顺序不同
public static int sum(double a,int b){
return (int)(a+b);
}
public static int sum(int a,double b){
return (int)(a+b);
}
方法重载与下列因素无关:
- 与参数的名称无关
- 与方法的返回值无关