JAVA学习笔记--方法篇(4)

目录

一,方法中遍历数组

二,数组作为方法返回值返回

​编辑三,方法的重载

四,总结


一,方法中遍历数组

需求:在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]);
        }
    }
}

原理图

62df0fa0aa6c434395a1257eaae3b0dc.png

二,数组作为方法返回值返回

当你在方法中设置了两个及两个以上数组时,要返回主函数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[]
    }
}

原理图

f219db5a1d2a487095571475b0752de0.png三,方法的重载

需求:定义三个方法,分别求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.和返回值无关

示例

和参数名无关

5155cc37c5b441bd971c89b81b5ad6aa.png

同样的个数,类型,顺序,但参数不同并不影响程序报错,证明更改形式参数并不能影响重载(形参与实参的作用在之前的方法篇有讲)

和返回值无关

3ab99b4328b946058ac2003ebd7b5ee9.png

先传参,后返回,证明程序在传参的时候就已经遇到了不知道该传给谁这个问题了,因为个数,类型,顺序都一样,无法编译

以下方法可以复制到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){}

20143b5c1d8240eaba86f1ba209db92d.png

四,总结

如果定义方法功能一样,只不过实现细节不一样,就可以考虑定义成重载的方法

比如

555bad64c64f42b8b54a40e0c46ab037.png

add是往集合里面添加元素,第一个是直接添加,第二个是在指定位置添加,这就可以视为重载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值