1. 方法的基本使用
将一段特定功能的代码块,放在{ }中,并且起一个名字,方便我们使用该功能
public static void 方法名称(){
//方法体
}
//参考main方法
public static void main(String[] args) {
}
如何使用:方法名();
方法必须先定义,然后才能使用
方法要想执行,必须要调用,不调用是不会执行的,main方法除外
定义方法时,不要在方法中定义方法,但是可以嵌套使用
方法不能提高程序的执行效率,只能提高代码的复用性
2. 方法的完整格式
public static 返回值类型 方法名(参数数据类型 参数名1,参数数据类型 参数名2....){
方法体
return 结果;
}
public static: 修饰符,目前来说是固定写法
返回值类型: 该方法功能完成之后,需要给调用都返回一个结果,该结果是什么类型。
方法名: 方法的名称,根据标识符的命名规则进行命名即可,小驼峰
参数数据类型 参数名1: 该方法功能执行时,需要的参数列表
方法体: 完成功能的具体代码是什么
return: 返回结果的,该功能执行完毕之后,将结果返回给调用者
return的作用:
* 用于结束方法
* 将结果返回给调用者
3. 方法的案例
- 定义方法的两个明确?
总结:
明确参数列表:
明确返回值类型:
> 案例一: 在控制台打印10次HelloWorld
两个明确:
参数列表: 没有参数列表 ,打印的次数是固定10次
返回值类型: 没有,只是打印HelloWorld , 用void表示该方法没有返回值
> 案例二: 实现不定次数打印HelloWorld
两个明确:
参数列表: 不固定次数,到底是多少次,确定的是次数是一个整数, int
返回值类型:没有,只是打印HelloWorld , 用void表示该方法没有返回值
> 案例三: 定义方法实现两个整数的求和计算
两个明确:
参数列表: 求和,是那两个数进行求和, 两个整数int类型的 , int a,int b
返回值类型: 两个数的和,最终的一个结果肯定是一个整数,int类型
> 案例四: 定义方法实现比较两个整数是否相同
两个明确:
参数列表: 比较的是那两个整数,确定的是一个整数,int . int a,int b
返回值类型: 比较的最终的一个结果,要么是true 要么是false 类型是boolean类型
> 案例五: 定义方法实现:计算1+2+3…+100的和
两个明确:
参数列表: 求固定范围内的整数和 没有参数
返回值类型: 整数范围内求和,结果肯定是一个整数,int
调用方式:
直接调用
方法名(参数列表);
输出调用
sout(方法名(参数列表));
赋值调用
数据类型 变量名 = 方法名(参数列表);4. 方法的注意事项
- 方法与方法之间是平级关系, 不能在方法中定义方法(不能嵌套),但是可以嵌套使用
2. 方法定义的前后顺序无所谓, 只跟调用顺序有关
3. 方法不调用就不执行
4. 如果方法是有返回值的, 那么必须由return语句带回一个值.(无论什么情况下)
5. 如果方法是有返回值的, 那么返回值类型跟返回值(必须)一致.
6. 如果方法没有返回值类型(void) 那么就不能由return带回具体的值, 但是可以直接写return;
7. 如果方法没有返回值, 那么return语句可以省略不写.
8. 一个方法当中可以有多个return语句, 但是执行执行一个.以后写方法,最好是一个方法完成一个功能
9. return 后面不能有任何代码,属于无效代码5. 方法的重载
必须是在同一个类中,方法名相同,参数列表不同这就是方法的重载
方法名相同,参数列表不同,与方法的返回值无关
好处就是简化了我们记忆方法的名称罢了6. 方法参数传递
引用数据类型作为方法的参数:
方法的参数是引用数据类型时,形式参数的改变会影响实际参数的改变
基本数据类型作为方法的参数:
方法的参数是基本数据类型时,形式参数的改变不影响实际参数的改变
数组作为方法参数:
方法的参数是一个数组类型, 那么在调用方法的时候, 传递的是数组的什么?
地址值7. 方法参数传递案例
定义方法遍历数组 ```java public class MethodTest { public static void main(String[] args) { //定义一个数组,用静态初始化完成数组元素初始化 int[] arr = {11, 22, 33, 44, 55};
//调用方法
printArray(arr);
}
// 定义一个方法,用数组遍历通用格式对数组进行遍历
/*
两个明确:
返回值类型:void
参数:int[] arr
*/
public static void printArray(int[] arr) {
System.out.print("[");
for(int x=0; x<arr.length; x++) {
if(x == arr.length-1) {
System.out.print(arr[x]);
} else {
System.out.print(arr[x]+", ");
}
}
System.out.println("]");
}
}
定义方法实现数组的最值
```java
public class MethodTest {
public static void main(String[] args) {
//定义一个数组,用静态初始化完成数组元素初始化
int[] arr = {12, 45, 98, 73, 60};
//调用获取最大值方法,用变量接收返回结果
int number = getMax(arr);
//把结果输出在控制台
System.out.println("number:" + number);
}
//定义一个方法,用来获取数组中的最大值
/*
两个明确:
返回值类型:int
参数:int[] arr
*/
public static int getMax(int[] arr) {
int max = arr[0];
for(int x=1; x<arr.length; x++) {
if(arr[x] > max) {
max = arr[x];
}
}
return max;
}
}