Java基础知识_day05_(方法,方法重载)

内容摘要:

  • 方法概述及使用
  • 方法重载及参数传递
  • 方法操作数组

1. 方法概述及使用

方法定义格式:

  • 方法本质是完成特定功能的代码块;
  • 定义格式:
      修饰符 返回值类型 方法名(参数类型 参数名1,…) {
        方法体;
        return 具体的返回值;
      }
      修饰符:public static
      返回值类型:用于限定返回值的数据类型
      方法名:方便调用使用的名字
      参数类型:限定调用方法时传入的数据类型
      参数名:接收调用方法时传入的数据的变量
      方法体:用于完成特定功能的代码
      返回值:结束方法时返回给调用者的结果.

方法定义的位置:

  • 定义在一个类中,在其他的方法外面(方法间是同级关系).

方法编写:

  • 返回值类型:明确方法返回数据的数据类型;
  • 参数列表:参数的个数及对应的数据类型.

方法的调用:

  • 有明确返回值的方法的调用:
      单独调用时无意义的
      输出调用是可以的,但是不建议,可能还需要使用返回的结果.
      赋值调用,将返回值赋值给一个变量,以便使用.
  • 无明确返回值的方法调用(void),只能单独调用:
      单独调用:方法名(参数列表);
      输出调用:不能输出调用;
      赋值调用:不能赋值调用.

案例:

package com.heima.mothod;
import java.util.Scanner;
public class MethodTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 获取两个数中的最大值
        System.out.println("请输入第一个整数:");
        int a = scanner.nextInt();
        System.out.println("请输入第二个整数:");
        int b = scanner.nextInt();
        int max = getMax(a, b);
        System.out.println(max);

        // 获取三个整数中的最大值
        System.out.println("请依次输入3个整数:");
        int thereMax = getThereMax(scanner.nextInt(), scanner.nextInt(), scanner.nextInt());
        System.out.println(thereMax);
    }

    /**
     * 返回两个数中的最大值
     * @param a
     * @param b
     * @return
     */
    public static int getMax(int a, int b) {
        return a > b ? a : b;
    }

    /**
     * 求取三个整数中的最大值
     * @param a 第一个整数
     * @param b 第二个整数
     * @param c 第三个整数
     * @return  有返回值
     */
    public static int getThereMax(int a,int b,int c) {
        if (a > b && a > c) {
            return a;
        }if (b > a && b > c) {
            return b;
        }else {
            return c;
        }
    }
}

2. 方法重载及参数传递

2.1 方法重载

方法重载:

  • 在同一个类中存在方法名相同的方法.
  • 在调用方法时,Java虚拟机会通过方法的参数列表来区分同名的方法.

方法重载特点:

  • 方法名相同
      参数列表不同
      参数的个数不同;
      参数对应的数据类型不同;
  • 方法有多个参数类型时,若类型的顺序不同,也是重载.
  • 与方法的返回值无关
2.2 参数传递

形式参数为基本数据类型时:

  • 实际参数:实际参与运算的变量;
  • 形式参数:用于接收实际参数的变量,方法的声明上
  • 基本数据类型作为参数时,形式参数值的改变,不改变实际参数的值.
  • 内存中方法区存储的是字节码文件(.class)

引用数据类型作为形式参数传递时:

  • 引用数据类型作为形式参数传递时,形式参数的改变会改变实际参数.

总结:

  • 不管参数传递的是什么类型数据,传递的都是值,基本数据类型传递的变量的值,引用类型传递的是地址值。

3. 方法操作数组

数组遍历及求和:
求最值:

求取最大值和最小值时,不要取0作为参考,一般取数组的第一个值作为参考,并且循环从索引1开始.

案例:

package com.heima.test;
public class Test5 {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5,6};

        print(arr);
        System.out.println(getMax(arr));
    }
    // 获取数组的最大值
    public static int getMax(int[] arr) {
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        return max;
    }
    // 获取数组的最小值
    public static int getMin(int[] arr) {
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        return min;
    }
    // 按指定格式打印数组元素
    public static void print(int[] arr) {
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                System.out.print(arr[i] + "]");
            }else {
                System.out.print(arr[i] + ", ");
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值