• 36-Java方法的案例:求和、判断奇偶数、求最值


    一、方法定义的技巧说明

    修饰符 返回值类型 方法名( 形参列表 ) {
        方法体代码( 需要执行的功能代码 )
        return 返回值;
    }
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    • 修饰符: public static——>暂时固定

    • 方法名称:自己取名字,有意义,英文小写,驼峰模式。 (有意义的名字即可)

    • 方法体代码:完成自己需要写的功能代码即可。 (具体需求具体实现)

    • 真正需要关注的就两点:

      1. 分析方法是否需要申明返回值类型;

      2. 分析方法是否需要接收参数。

    二、方法案例:求和

    • 需求: 定义一个方法,方法中计算出 1到n 的和并返回

    • 分析:

      • 根据格式编写方法 ——> 因为 n 不固定,所以方法 需要声明形参接收;要返回结果,需要申明返回值类型
      • 方法内部 ——> 使用for循环计算出 1到n 的和并返回
    • 实现:

      1. 定义一个有参数、有返回值的方法,取名为sum,设置形参1为number,类型为int

      2. 在方法内,使用for循环计算出 1—n 的和

        (2-1) 先在循环外定义个求和变量,初始值为0,用于存放求和结果

        (2-2) 使用for循环,将1到n 之间的所有数字遍历一遍,取出求和

        (2-3) 在循环内,编写求和语句,使每一次遍历到的数字加起来

      3. for循环结束后,将求和结果返回给sum方法

      4. 在main——>主方法内,调用求和方法,并传入参数10,相当于要求计算:1—10之间的数字和,定义变量接收方法的调用

      5. 输出1—10的和到控制台

      6. 在main——>主方法内,调用求和方法,并传入参数100,相当于要求计算:1-100之间的数字和,定义变量接收方法的调用

      7. 输出1-100的和到控制台

    package com.app.test;
    
    /**
        目标:通过案例:求和,更深入的理解和掌握方法的使用
        - 需求:定义一个方法,方法中计算出 1到n 的和并返回
        - 分析:
            1.根据格式编写方法 ——> 因为 n 不固定,所以方法 需要声明形参接收;要返回结果,需要申明返回值类型
            2.方法内部 ——> 使用for循环计算出 1到n 的和并返回
     */
    
    public class MethodTest1 {
    
        // 1. 定义一个有参数、有返回值的方法,取名为sum,设置形参1为number,类型为int
        public static int sum(int number) {
            // (2-1) 先在循环外定义个求和变量,初始值为0,用于存放求和结果
            int sum = 0;
    
            // 2. 在方法内,使用for循环计算出 1—n 的和
            // (2-2) 使用for循环,将1到n 之间的所有数字遍历一遍,取出求和
            for (int i = 1; i <= number; i++) {
                // (2-3) 在循环内,编写求和语句,使每一次遍历到的数字加起来
                sum += i;
            }
    
            // 3. for循环结束后,将求和结果返回给sum方法
            return sum;
        }
    
        // main——主方法
        public static void main(String[] args) {
            // 4. 在main——>主方法内,调用求和方法,并传入参数10,相当于要求:1—10之间的和,定义变量接收方法的调用
            int rs = sum(10);
    
            // 5. 输出1—10的和到控制台
            System.out.println("1——10的和为: " + rs);
    
            // 6. 在main——>主方法内,调用求和方法,并传入参数100,相当于要求计算:1-100之间的数字和,定义变量接收方法的调用
            int rs2 = sum(100);
    
            // 7. 输出1-100的和到控制台
            System.out.println("1——100的和为: " + rs2);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    输出结果:
    
    1——10的和为: 55
    1——100的和为: 5050
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 好处: 写好求和方法后,封装起来了,当你想求 1—n(任意正整数) 之间的和的时候,只需要在主方法里调用求和方法,传入一个任意数,就可以求出 1—n 的和了。

    学习小建议:

    • 大家写完代码,运行完后,可以使用debug工具运行一遍,自己慢慢往下走代码,了解一下执行流程,这样子会学得更好一些。

    求和案例的小结

    1、定义方法重点关注的是哪两点?

    • 方法是否需要申明返回值类型

    • 方法是否需要定义形参列表

    2、如何使用方法完成 1—n(任意正数) 的求和?

    // 写个求和方法,然后调用
    public static int sum(int n) {
        int sum = 0;
        for(int i = 1; i <= n; i++) {
            sum += i;
        }
        return sum;
    }
    
    public static void main(String[] args) {
        System.out.println("1-100的和是: " + sum(100));
        System.out.println("1-10的和是: " + sum(10));
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    三、方法案例:判断奇偶数

    • 需求: 拿一个整数,通过调用方法,判断该数是奇数还是偶数

    • 分析:

      • 根据格式编写方法 ——> 因为要判断一个整数,所以需要定义一个有参数、无返回值的方法
      • 方法内部 ——> 使用if,通过使用求余数的方法来判断:如果这个整数 模2余0,则提示:该数 + “是偶数”;否则提示:该数 + “是奇数”
    • 实现:

      1. 定义一个判断奇偶数的方法:返回值类型为void,形参1为number——用于接收传入的整数

      2. 在方法内,使用if判断:

        (2-1) 如果这个整数 除2余0,则提示:该数 + “是偶数”;

        (2-2) 否则提示:该数 + “是奇数”

      3. 在main——主方法内:

        (3-1) 创建键盘录入Scanner对象,用于录入一个整数

        (3-2) 调用键盘录入功能,录入一个整数,并用变量接收

        (3-3) 调用判断奇偶数的方法,将录入的整数 传入 方法中

    package com.app.test;
    
    import java.util.Scanner;
    
    /**
         需求:拿一个整数,通过调用方法,判断该数是奇数还是偶数
         分析:
             1.根据格式编写方法 ——> 因为要判断一个整数,所以需要定义一个有参数、无返回值的方法
             2.方法内部 ——> 使用if,通过使用求余数的方法来判断:如果这个整数 模2余0,则提示:该数 + "是偶数";否则提示:该数 + "是奇数"
     */
    
    public class MethodTest2 {
        // 1. 定义一个判断奇偶数的方法:返回值类型为void,形参1为number——用于接收传入的整数
        public static void judgingParity(int number) {
            // 2. 在方法内,使用if判断:
            if (number % 2 == 0) {
                // (2-1) 如果这个整数 除2余0,则提示:该数 + "是偶数";
                System.out.println(number + "是偶数");
            }else {
                // (2-2) 否则提示:该数 + "是奇数"
                System.out.println(number + "是奇数");
            }
        }
    
    
        public static void main(String[] args) {
            // 3. 在main——主方法内:
            // (3-1) 创建键盘录入Scanner对象,用于录入一个整数
            Scanner sc = new Scanner(System.in);
    
            // (3-2) 调用键盘录入功能,录入一个整数,并用变量接收
            System.out.println("请你输入一个整数: ");
            int number = sc.nextInt();
    
            // (3-3) 调用判断奇偶数的方法,将录入的整数 传入 方法中
            judgingParity(number);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    输出结果:
    
    测试1:
    -----------------
    请你输入一个整数: 
    101
    101是奇数
    
    测试2:
    -----------------
    请你输入一个整数: 
    2
    2是偶数
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 注意点: 当你的方法的返回值类型为void的时候,调用方法时,既不能用变量接收,也不能输出,只能直接调用,有参数就传入,无参数就不需要传入。否则会报错!!

    四、方法案例:数组求最值

    • 需求: 通过调用方法,选出以下颜值中的最高颜值

    在这里插入图片描述

    • 分析:

      • 根据格式编写方法 ——> 由于颜值属于同一批类型的数据,所以要传入一个数组,因此需要定义一个有参数、有返回值的方法
      • 在方法内部 ——> 选出最高颜值
    • 实现:

      1. 定义选美的方法:返回值类型为int,取名为max,形参1为数组类型的maxValue

      2. 在方法内:

        (2-1) 定义一个最大值变量max,用于存放最高颜值,初始值为众多颜值中的一个颜值,建议使用首个颜值

        (2-2) 使用for循环,遍历一遍所有颜值:

        ​ (2-2-1) 在循环内,使用if判断:

        ​ 如果遍历的颜值 高于 首个颜值的话,则最高颜值替换为遍历的颜值;

        ​ 否则,遍历的颜值 低于 首个颜值,直接淘汰,不进入if判断,有请下一个遍历的颜值进行比较,直到选出最高颜值。

      3. 循环结束后(选拔结束),将最高颜值返回(公布一下最高颜值)

      4. 在main——主方法内:

        (4-1) 静态初始化一个整数类型的数组,用于存放众多颜值

        (4-2) 调用选美方法,将颜值数组 传入 方法,并输出——>也可以先用变量接收,再输出

    package com.app.test;
    
    /**
     - 需求:通过调用方法,选出以下颜值中的最高颜值
            颜值:15、9000、10000、20000、9500、-5
     - 分析:
         - 根据格式编写方法 ——> 由于颜值属于同一批类型的数据,所以要传入一个数组,
           因此需要定义一个有参数、有返回值的方法。
         - 在方法内部 ——> 选出最高颜值
     */
    public class MethodTest3 {
    
        // 1. 定义选美的方法:返回值类型为int,取名为getArrayMax,形参1为数组类型的maxValue
        public static int getArrayMax(int[] maxValue) {
            // 2. 在方法内:
            // (2-1) 定义一个最大值变量max,用于存放最高颜值,初始值为众多颜值中的一个颜值,建议使用首个颜值
            int max = maxValue[0];
    
            // (2-2) 使用for循环,遍历一遍所有颜值:
            for (int i = 1; i < maxValue.length; i++) {
                // (2-2-1) 在循环内,使用if判断:
                if (maxValue[i] > max) {
                    // 如果遍历的颜值 高于 首个颜值的话,则最高颜值替换为遍历的颜值;
                    // 否则,遍历的颜值 低于 首个颜值,直接淘汰,不进入if判断,有请下一个遍历的颜值进行比较,直到选出最高颜值。
                    max = maxValue[i];
                }
            }
            // 3. 循环结束后(选拔结束),将最高颜值返回(公布一下最高颜值)
            return max;
        }
    
        public static void main(String[] args) {
            // 4. 在main——主方法内:
            // (4-1) 静态初始化一个整数类型的数组,用于存放众多颜值
            // 颜值:15、9000、10000、20000、9500、-5
            int[] faceValue = {15, 9000, 10000, 20000, 9500, -5};
    
            // (4-2) 调用选美方法,将颜值数组 传入 方法,并输出——>也可以先用变量接收,再输出
    //        System.out.println("最高颜值是: " + getArrayMax(faceValue));
            int max = getArrayMax(faceValue);
            System.out.println("最高颜值是: " + max);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    输出结果:
    
    最高颜值是: 20000
    
    
    • 1
    • 2
    • 3
    • 4

    数组求最值的小结

    1、如何使用方法返回一个整型数组的最大值?

    • 方法需要申明返回值类型:int
    • 方法需要定义形参列表:(int[] maxValue)
  • 相关阅读:
    简单聊聊G1垃圾回收算法整个流程 --- 理论篇 -- 下
    【MQ工作队列模式】
    基于Java的智能仓库(进销存)管理系统设计与实现(源码+lw+部署文档+讲解等)
    install GitHub Desktop on ubuntu
    常用正则表达式整理php
    十一、【VUE-CLI】全局事件总线(待办事项案例 · 第四版)
    载阿霉素PLGA-PLL-PEG纳米粒|马钱子碱mPEG-PLGA纳米粒|PLGA-PEG包裹液态PFP载紫杉醇纳米粒
    有序管理SSH Keys,爆击Permission denied
    《Django 3 Web应用开发从零开始学(视频教学版)》简介
    熊市来临,加密货币公司将广告支出削减了 90%
  • 原文地址:https://blog.csdn.net/yelitoudu/article/details/125600199