定义:
方法就是对一段特定功能的代码的封装。
注意:
一、方法只能先定义再调用
二、方法不调用时不运行,但是参与编译。调用时运行,运行完毕,直接弹出栈内存。
定义书写格式:
//有参数 无返回值的方法定义
public static void 方法名 (变量类型 变量名,变量类型 变量名){
//执行代码块
}
//有参数 有返回值的方法定义
public static int 方法名(变量类型 变量名,变量类型 变量名){
//执行代码块
return a;
}
//无参数 无返回值的方法定义
public static void 方法名(){
//执行代码块
}
//无参数 有返回值的方法定义
public static int 方法名(){
//执行代码块
return a; //前面没有 void 修饰 方法名 此处return 必写,并且返回值的类型必须和修饰方法名的类型相同,前面有void时 return 可以写,但是不能跟变量,并且return后面的语句不会在执行,如果下面有语句就会报错
}
重点说下 void 和 return
方法就是对传入参数的一个加工处理过程,加工完 你可以返回数据,也可以不返回数据,因为引用数据 加工完,程序内所有地方 引用这个 数据的 变量都跟着改变了。所有无返回值时 用void 修饰方法名,有返回值时 用想要返回的数据类型修饰;
返回的数据类型 注定只有一个,并且数据也是一个,如果想要返回多个数据,可以考虑用数组或者其他容器带回;
如果方法名被void 修饰时,return 可以写也可以不写,写的时候 return后面不能加东西;并且return后的语句不会执行。
如果方法名被一个数据类型修饰,return 必须写,带回的数据类型必须保持一致,而且是一个;
注意:
一、方法不能嵌套,但是可以相互调用。
二、方法外定义的变量是 实参,方法用来接收变量的是形参,形参随方法的存在而存在,消失而消失,形参和实参的名字可以重复,但是他们各有各的含义,互不冲突。
调用格式:
有返回值的方法 调用
用相对应的 变量接收 方法产生的方法值
例如:int num = getmax();
无返回值的方法调用
方法名();
例如 getMax();
方法重载
定义:
满足一下三个条件
1、定义在同一个类中
2、方法名相同
3、方法的形参不同(形参不同指的是,顺序、类型、数量不同)
注意:
1、方法的重载与方法的调用方式无关,只与上面的三个方面区分
2、方法是否是重载和返回值的类型无关
优点:
方法名少,更方便调用。
//方法重载案例
public static void main(String[] args) {
System.out.println(sum(1, 2));
System.out.println(sum(1.3, 2.66));
}
public static int sum (int a,int b){
int sum =a+b;
return sum;
}
public static double sum(double a,double b){
double sum = a+b;
return sum;
}