一、方法定义的技巧说明

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

java求和 java怎么实现求和运算_java求和

  • 修饰符: 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——10的和为: 55
1——100的和为: 5050
  • 好处: 写好求和方法后,封装起来了,当你想求 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));
}

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

  • 需求: 拿一个整数,通过调用方法,判断该数是奇数还是偶数
  • 分析:
  • 根据格式编写方法 ——> 因为要判断一个整数,所以需要定义一个有参数、无返回值的方法
  • 方法内部 ——> 使用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:
-----------------
请你输入一个整数: 
101
101是奇数

测试2:
-----------------
请你输入一个整数: 
2
2是偶数
  • 注意点: 当你的方法的返回值类型为void的时候,调用方法时,既不能用变量接收,也不能输出,只能直接调用,有参数就传入,无参数就不需要传入。否则会报错!!

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

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

java求和 java怎么实现求和运算_值类型_02

  • 分析:
  • 根据格式编写方法 ——> 由于颜值属于同一批类型的数据,所以要传入一个数组,因此需要定义一个有参数、有返回值的方法
  • 在方法内部 ——> 选出最高颜值
  • 实现:
  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);
    }
}
输出结果:

最高颜值是: 20000

数组求最值的小结

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

  • 方法需要申明返回值类型:int
  • 方法需要定义形参列表:(int[] maxValue)