原课程地址:https://www.bilibili.com/video/BV18J411W7cE?p=69
1 方法概述
方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。
方法必须先创建才可以使用,称为方法定义;方法创建之后需要经过方法调用才可以执行。
2 方法定义和调用
方法定义格式:
public static 返回值类型 方法名(参数){
//方法体;
return 数据;
}
方法调用格式:
方法名();
方法要先定义 后 调用。 类似于 C++中的函数。
main()方法:程序的入口方法。
3 带参数方法的定义和调用
形参:方法定义中的参数;实参:方法调用中的参数。
方法调用时参数的个数与类型要一致。
4 带返回值方法的定义和调用
return 的返回值要与方法定义上的数据类型匹配。
5 方法的注意事项
方法不能嵌套定义;void表示无返回值;return表示方法结束。
6 方法的重载
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载:
- 多个方法在同一个类中
- 多个方法具有相同的方法名
- 多个方法的参数不同,类型不同或者数量不同
- 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关。也就是说不能通过返回值来判定两个方法是否相互构成重载。
- 在调用的时候,Java虚拟机会通过参数的不同来区分同名的方法。
7 方法的参数传递
对于基本数据类型的参数,形式参数的改变,不影响实际参数的值。
引用类型的参数,形式参数的改变,影响实际参数的值。
理解:关键看调用方法中是否修改的是同一个地址的参数值。也就是说对于基本数据类型的形参,其在内存中的位置跟实参并不相同,所以修改形参的值并不影响原来实参的值。
8 几个实例
- 数组遍历
package test;
public class ArrayTest {
public static void main(String[] args) {
int[] arr = {11,22,33,44,55};
traverse(arr);
}
public static void traverse(int[] arg) {
System.out.print("[");
System.out.print(arg[0]);
for(int i = 1; i < arg.length; i++){
System.out.print(","+arg[i]);
}
System.out.println("]");
}
}
-
数组最大值
package test;
public class MaxArray {
public static void main(String[] args) {
int[] arr = {2,9,1,36,90,3};
max(arr);
}
public static void max(int[] args) {
int max = args[0];
for(int i = 1; i < args.length; i++){
max = args[i]>max?args[i]:max;
}
System.out.println(max);
}
}