目录
一,方法中遍历数组
需求:在main方法中定义一个数组,将数组传递到另外一个方法中,在此方法中遍历数组
public class Demo13method {
public static void main(String[] args) {
int [] arr1= {3,4,5,6,7,8,6,545,335,33};
method(arr1);
}
/*
调用method方法,传递的实参时int[]数组
所以形参也应该用int型数组来接收
*/
public static void method(int [] arr2) {
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
}
}
原理图
二,数组作为方法返回值返回
当你在方法中设置了两个及两个以上数组时,要返回主函数main,不能连续返回两个,这时就需要吧这两个数据放入一个数组中返回
public class Demo14method {
public static void main(String[] args) {
int[] arr2 = method();
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
}
public static int[] method(){
int a = 23;
int b = 98;
int sum = a+b;
int sub = a-b;
int[] arr1 = {sum,sub};
return arr1;//返回的是一个int[],那么返回值类型也应该是int[]
}
}
原理图
三,方法的重载
需求:定义三个方法,分别求2个整数相加,3个整数相加,4个整数相加
public class Demo01overload {
public static void main(String[] args) {
sum(32,4);
sum(23,4,3);
sum(23,45,65,74);
}
//两个整数相加
public static void sum(int a,int b){
System.out.println(a+b);
}
//三个整数相加
public static void sum(int a,int b,int c){
System.out.println(a+b+c);
}
//四个整数相加
public static void sum(int a,int b,int c,int d){
System.out.println(a+b+c+d);
}
}
因为方法如果一遍一遍调用太过麻烦,这样重载就只用输入实参就可以直接调用,并不冲突
1.概述:方法名相同,参数列表不同的方法
2.什么叫参数列表不同:
a.参数个数不同
b.参数类型不同
c.参数类型顺序不同
public static void sum(double a,int b){
System.out.println(a+b);
}
public static void sum(int a,double b){
System.out.println(a+b);
}
类型,顺序不同,但不影响重载,个数同理
3.判断两个方法是否为重载方法,和什么无关:
a.和参数名无关
b.和返回值无关
示例
和参数名无关
同样的个数,类型,顺序,但参数不同并不影响程序报错,证明更改形式参数并不能影响重载(形参与实参的作用在之前的方法篇有讲)
和返回值无关
先传参,后返回,证明程序在传参的时候就已经遇到了不知道该传给谁这个问题了,因为个数,类型,顺序都一样,无法编译
以下方法可以复制到idea试一试
public static void open(){}
public static void open(int a){}
static void open(int a,int b){}
public static void open(double a,int b){}
public static void open(int a,double b){}
public void open(int i,double d){}
public static void OPEN(){}
public static void open(int i,int j){}
四,总结
如果定义方法功能一样,只不过实现细节不一样,就可以考虑定义成重载的方法
比如
add是往集合里面添加元素,第一个是直接添加,第二个是在指定位置添加,这就可以视为重载。