Day06随笔笔记

本文介绍了Java中的方法重载概念,通过实例展示了如何根据参数列表不同调用相同名称的方法。同时,讲解了基本类型参数和引用类型参数的区别,以及在数组操作中的应用。最后,提供了两个案例,分别演示了如何求解数组中偶数的和以及不包含数字7的偶数的和。
摘要由CSDN通过智能技术生成

一、方法重载的基本使用
方法重载:在同一个类中,出现了方法名相同,但是参数列表不同的方法,叫方法重载。
*****参数个数、参数类型、参数顺序
好处:方法名相同,JVM会根据传递的不同参数,来自动找对应的方法调用。

 public static void main(String[] args) {
        //调用两个int类型整数和的方法
        int s1 = getSum(10, 20);
        System.out.println("s1:"+s1);
        //调用三个int类型整数和的方法
        int s2 = getSum(10, 20, 30);
        System.out.println("s2:"+s2);
        //调用两个double类型小数和的方法
        double s3 = getSum(8.8, 6.6);
        System.out.println("s3:"+s3);
        // 顺序 调用先int后double两个数求和的方法
        double s4 = getSum(10, 5.5);
        System.out.println("s4:"+s4);
        //调用先double后int两个数求和的方法
        double s5 = getSum(88.8, 100);
        System.out.println("s5:"+s5);
        //调用int数组中元素求和的方法
        int[] arr = {1,2,3,4,5};
        int s6 = getSum(arr);
        System.out.println("s6:"+s6);
    }

方法重载的注意事项
1.方法的重载,只和参数类型有关,和方法的返回值类型没有关系
2.方法的重载,之和参数类型有关,和方法参数的名字无关。
3.JVM (java虚拟机)会根据方法传递的参数不同,而调用不同的方法。

二、基本类型参数和引用类型参数
1.基本类型参数执行原理:值传递
2.引用类型参数执行原理:地址传递

三、熟练使用 数组与方法综合练习
案例1.定义方法,可以求出一个数组中偶数的和并返回。


/*
    定义方法,可以求出一个数组中偶数的和并返回
    需求:
        有以下数组,存储了公司5名员工的年龄:
	    {29, 35, 38, 56, 21}
       请定义方法getSum()可以求出这个数组的“所有偶数的年龄的和”并返回。
    分析:
        1.定义一个main方法
        2.在main方法中定义包含以下元素的数组{29, 35, 38, 56, 21}
        3.定义一个方法,名称叫getSum,获取数组中所有偶数的和并返回
            三要素:
            方法名:getSum
            参数列表:int[] arr
            返回值类型:int
            a.定义一个int类型的变量sum,初始值为0,记录累加求和
            b.遍历数组,获取数组中每一个元素
            c.判断元素是否为偶数 if(arr[i]%2==0){ }
            d.是否是则累加求和
            e.循环结束,把和返回
       4.在main方法中,调用getSum方法,获取方法的返回值
       5.打印结果
 */
public class Demo01Test {
    //1.定义一个main方法
    public static void main(String[] args) {
        //2.在main方法中定义包含以下元素的数组{29, 35, 38, 56, 21}
        int[] arr = {29, 35, 38, 56, 21};
        //4.在main方法中,调用getSum方法,获取方法的返回值
        int sum = getSum(arr);
        //5.打印结果
        System.out.println(sum);
    }

    /*
        3.定义一个方法,名称叫getSum,获取数组中所有偶数的和并返回
            三要素:
            方法名:getSum
            参数列表:int[] arr
            返回值类型:int
     */
    public static int getSum(int[] arr){
        //a.定义一个int类型的变量sum,初始值为0,记录累加求和
        int sum = 0;
        //b.遍历数组,获取数组中每一个元素
        for (int i = 0; i < arr.length; i++) {
            //c.判断元素是否为偶数 if(arr[i]%2==0){ }
            if(arr[i]%2==0){
                //d.是否是则累加求和
                sum+=arr[i];
            }
        }
        //e.循环结束,把和返回
        return sum;
    }
}

案例2.求数组中数字不包含7的,并且是偶数的数字累加和

/*
    求数组中数字不包含7的,并且是偶数的数字的累加和
    需求:
        1.请定义方法,可以求出一个整数数组中“不包含7的并且是偶数”的元素的累加和,并返回结果。
        2.定义main()方法,定义一个10个长度的数组,并从控制台接收10个两位的整数填充数组,
             调用这个方法,接收返回值并打印:
    分析:
        1.定义一个main方法
        2.在main方法,定义int类型,包含以下元素的数组
            int[] arr = {31,42,23,74,25,36,77,88,99,10};
        3.请定义方法,可以求出一个整数数组中“不包含7的并且是偶数”的元素的累加和,并返回结果
            三要素:
                方法名:getSum
                参数列表:int[] arr
                返回值类型:int
            a.定义一个int类型的变量sum,初始值为0,记录累加求和
            b.遍历数组,获取每一个元素
            c.判断元素  “不包含7的并且是偶数” ( arr[i]%10!=7 && arr[i]/10%10!=7  && arr[i]%2==0)
                74
                获取元素的个位: 74%10=4
                获取元素的十位: 74/10%10=7%10=7
                876
                获取元素的百位: 976/100%10=9%10=9
                获取元素的千位: arr[i]/1000%10=9%10
                ...
             d.条件成立,累加求和
             e.循环结束,把和返回
       4.在main方法中,调用getSum方法,获取和
       5.打印结果
 */
public class Demo02Test {
    //1.定义一个main方法
    public static void main(String[] args) {
        //2.在main方法,定义int类型,包含以下元素的数组
        int[] arr = {31,42,23,74,25,36,77,88,99,10};
        //4.在main方法中,调用getSum方法,获取和
        int sum = getSum(arr);
        //5.打印结果
        System.out.println("sum:"+sum);
    }

    /*
        3.请定义方法,可以求出一个整数数组中“不包含7的并且是偶数”的元素的累加和,并返回结果
            三要素:
                方法名:getSum
                参数列表:int[] arr
                返回值类型:int
     */
    public static int getSum(int[] arr){
        //a.定义一个int类型的变量sum,初始值为0,记录累加求和
        int sum = 0;
        //b.遍历数组,获取每一个元素
        for (int i = 0; i < arr.length; i++) {
            //c.判断元素  “不包含7的并且是偶数” ( arr[i]%10!=7 && arr[i]/10%10!=7  && arr[i]%2==0)
            if(arr[i]%10!=7 && arr[i]/10%10!=7  && arr[i]%2==0){
                //d.条件成立,累加求和
                System.out.println(arr[i]);
                sum+=arr[i];
            }
        }
        //e.循环结束,把和返回
        return sum;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值