方法
- 方法( method)是程序中最小的执行单元。
方法的定义:把一些代码打包在一起,该过程称为方法的定义
方法的调用:方法定义后并不是直接运行的,需要手动调用才能执行,该过程称为方法调用。
最简单的方法的定义和调用
定义
格式:
public static void 方法名(){
方法体(就是打包起来的代码);
}
范例:
public static void playGame ( ) {
七个打印语句;
}
调用
格式:
方法名();
范例:
playGame();
注意:方法必须先定义后调用,否则程序将报错
带参数的方法的定义和调用
定义
单个参数:
public static void 方法名(参数){
...
}
多个参数:
public static void 方法名(参数1,参数2,参数3){
...
}
调用
单个参数:
方法名(参数);
范例:
method(10);
method(变量);
多个参数:
方法名(参数1,参数2,...)
范例:
getSum(10,20);
getSum(变量1,变量2);
注意:方法调用时,参数的数量与类型必须与方法定义中小括号里面的变量一一对应,否则程序将报错。
Demo
package method;
import java.util.Scanner;
public class methodDemo2 {
public static void main(String[] args) {
//目标:掌握带参数方法定义的格式和调用格式
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字");
int num1 = sc.nextInt();
System.out.println("请输入第二个数字");
int num2 = sc.nextInt();
getSum(num1,num2);
}
public static void getSum(int num1, int num2){
System.out.println("两个数的和为:" + (num1 + num2));
}
}
形参和实参
- 形参:全称形式参数,是指方法定义中的参数
- 实参:全称实际参数,方法调用中的参数
注意:方法调用时,形参和实参必须一一对应,否则程序将报错。
带返回值的方法的定义和调用
什么是返回值?
- 方法的返回值其实就是方法的运行结果。
定义
格式:
public static 返回值类型 方法名(参数1){
方法体;
return 返回值;
}
范例:
public static int getSum(int a,int b){
int c = a + b;
return c;
}
调用
直接调用:
方法名(实参);
复制调用:
整数类型 变量名 = 方法名(实参);
输入调用:
System.out.println(方法名(实参));
什么时候用到有返回值的方法?
在调用处要根据方法的结果,去编写另外一段代码。
方法的注意事项
- 方法不调用就不执行
- 方法与方法之间是平级关系,不能互相嵌套定义
- 方法的编写顺序和执行顺序无关
- 方法的返回值类型为void,表示该方法没有返回值。没有返回值的方法可以省略return语句不写。如果要编写return,后面不能跟具体的数据。
- return语句下面,不能编写代码,因为永远执行不到,属于无效的代码
关于return:
- 方法没有返回值:可以省略不写。如果书写,表示结束方法
- 方法有返回值:必须要写。表示结束方法和返回结果
方法的重载
- 在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。
- 每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
简单记:同一个类中,方法名相同,参数不同的方法。与返回值无关。
Demo
package method;
public class methodTest7 {
public static void main(String[] args) {
/*需求:
使用方法重载的思想,设计比较两个整数是否相同的方法。
要求:兼容全整数类型( byte,short,int,long)
*/
compare(20,20);
}
public static void compare(byte num1,byte num2){
System.out.println(num1 == num2);
}
public static void compare(short num1,short num2){
System.out.println(num1 == num2);
}
public static void compare(int num1,int num2){
System.out.println(num1 == num2);
}
public static void compare(long num1,long num2){
System.out.println(num1 == num2);
}
}
最后:欢迎大家关注我的公众号 “盘键盘的Yliken”