? 方法(method)是程序中最小的执行单元
定义格式:
public static void 方法名() {
// 方法体;
}
实例:
public static void method() {
// 方法体;
}
调用格式:
方法名();
实例:
method();
注意:
方法必须先定义,后调用,否则程序将报错
? 参数:由数据类型和变量名组成 - 数据类型 变量名
? 参数实例:int a
public static void 方法名(参数1) {
// 方法体;
}
public static void 方法名(参数1, 参数2, 参数3...) {
// 方法体;
}
实例:
public static void isEvenNumber(int number) {
...
}
public sattic void getMax(int num1, int num2) {
...
}
注意:
方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错
方法定义时,多个参数之间使用逗号分割(,)
调用格式
方法名(参数);
方法名(参数1, 参数2);
实例:
isEvenNumber(10);
getMax(10, 20);
方法调用时,参数的数据与类型必须与方法定义中的设置匹配,否则程序将报错
形参:方法定义中的参数(就是在方法中定义的参数名称变量)
等同于变量定义格式,例如:int number
实参:方法调用中的参数(调用方法时实际传入的参数)
等同于使用变量或则常量,例如:10 number
定义格式:
public static 数据类型 方法名(参数) {
return 数据;
}
实例:
public static boolean isEvenNumber(int number) {
return true;
}
public static int getMax(int a, int b) {
return 100;
}
注意:方法定义时return后面的返回值与方法定义上的数据类型要匹配。否则程序将报错
调用格式
方法名(参数);
数据类型 变量名 = 方法名(参数);
实例
isEvenNumber(5);
boolean flag = isEvenNumber(4);
注意:方法的返回值通常会使用变量接收,否则该返回值将无意义
方法不能嵌套定义
实例代码
public class MethodDemo {
public static void main(String[] args) {
}
public static void methodOne() {
public static void methodTwo() {
// 这里会引发编译错误,方法不能嵌套
}
}
}
void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据
实例:
public class MethodDemo {
public static void main(String[] args) {
}
public static void methodTwo() {
//return 100; 编译错误,因为没有具体返回值类型
return;
//System.out.println(100); return语句后面不能跟数据或代码
}
}
格式:
public static 返回值类型 方法名(参数) {
方法体;
return 数据;
}
解释:
public static:修饰符,目前先记住这个格式
返回值类型 方法操作完毕之后返回的数据类型
如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写return
方法名:调用方法时使用的表示
参数:由数据类型和变量名组成,多个参数之间用逗号隔开
方法体:完成功能的代码块
return:如果方法操作完毕,有数据返回,用于把数据返回给调用者
定义方法是,要做到两个明确
调用方法时的注意:
方法重载概念
方法重载指同一个类中定义多个方法之间的关系,满足下列条件的多个方法相互构成重载(也就是说,可以定义重名的方法名,只要满足以下条件即可重复)
注意:
正确实例:
public class MethodDemo {
public static void fn(int a) {
// 方法体
}
// 可重载:因为参数的类型不同
public static int fn(double a) {
// 方法体
}
}
public class MethodDemo {
public static float fn(int a) {
// 方法体
}
// 可重载:因为参数的数量不同
public static int fn(int a, int b) {
// 方法体
}
}
错误实例:
public class MethodDemo {
public static void fn(int a) {
//方法体
}
public static int fn(int a) { /*错误原因:重载与返回值无关*/
//方法体
}
}
public class MethodDemo01 {
public static void fn(int a) {
//方法体
}
}
public class MethodDemo02 {
public static int fn(double a) { /*错误原因:这是两个类的两个fn方法*/
//方法体
}
}