Java方法

本文详细介绍了方法在编程中的概念、作用,包括定义、调用规则、不同类型方法的格式,以及重载、数组操作(遍历、最大值、存在性和复制)和基本内存原理。通过实例演示,帮助读者掌握Java中方法的基础知识。
摘要由CSDN通过智能技术生成

1.什么是方法?

(1)定义:方法是程序中最小的执行单元。

(2)有什么作用?

  • 提高代码复用性;

  • 可以提高代码的可维护性。

(3)实际开发,什么时候用到方法?

  • 重复代码、具有独立功能的代码可以抽取到方法中。

2.方法的格式:

(1)方法的定义:

将一些代码打包一起

public static 返回值类型 方法名(参数) {
    方法体;
    return 返回值;
}
例:public static void main(String[] args) {
    int sum=playGame(12,23,34);
    System.out.println(sum);
}
public static int playGame(int num1,int num2,int num3){
    int result=num3+num1+num2;
    return result;
}

(2)方法的调用

  • 方法名();

  • 注意:方法必须先定义后调用;

    方法与方法之间是平级关系,不能互相嵌套定义;

(3)例:

public static void main(String[] args) {
    playGame();
    playGame();
}
public static void playGame(){
    System.out.println("开局");
    System.out.println("对战");
    System.out.println("炫技能");
    System.out.println("结束");
}

(4)带参数的方法定义和调用:

  • 单个参数:

    • 定义:public static void(参数){……}

    • 调用:方法名(参数);

  • 多个参数:

    • public static void(参数1,参数2,……){……}

    • 调用:方法名(参数1,参数2,……);

(5)形参和实参:

  • 形参:指方法定义中的参数;

  • 实参:方法调用的参数;

  • 注意:方法调用是,形参和实参必须一一对应。

(6)总结:

  • 什么时候·用到有返回值方法?

    • 在调用处要根据方法的结果。去编写另外一段代码;

  • 有返回值方法的调用格式:

    • 直接调用、赋值调用、输出调用

(7)练习:

  • 需求,定义方法,比较两个长方形的面积

public static void main(String[] args) {
        double area1 = getArea(5.3, 2.4);
        double area2 = getArea(3.3, 9.4);
        if(area1>area2){
            System.out.println("第一个长方形更大");
        }else {
            System.out.println("第二个长方形更大");
        }
    }
//    方法的调用处,是否需要继续使用方法的结果?
//    如果要用,那么方法必须有返回值
//    如果不要用,方法可以写返回值,也可以不写返回值
    public static double getArea(double len,double width){
        double area=len * width;
        return area;
    }

3.方法的重载:

(1)定义:

  • 同一个类中,方法名相同,参数不同的方法。与返回值无关。

  • 参数不同:个数不同、类型不同、顺序不同;

4.练习:

(1)数组遍历:

需求:设计一个方法用于数组遍历,要求遍历结果在一行上。例:[11,22,33,44,55]

 public static void main(String[] args) {
//        设计一个方法用于数组遍历,要求遍历结果在一行上。例:[11,22,33,44,55]
        int[] arr={11,22,33,44,55};
        printArr(arr);
    }
    public static void printArr(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] + ",");
            }
        }
        System.out.println("]");
    }

(2)数组最大值:

需求:设计一个方法求数组的最大值,并将最大值返回

public static void main(String[] args) {
//     设计一个方法求数组的最大值,并将最大值返回
        int[] arr={11,22,33,44,55};
        int num=printMax(arr);
        System.out.println(num);
    }
    public static int printMax(int[] arr) {
        int max=arr[0];
        for (int i = 1; i < arr.length; i++) {
            if(max<arr[i]){
                max=arr[i];
            }
        }
       return max;
    }

(3)判断数据是否存在:

定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处

 public static void main(String[] args) {
//     定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处
        int[] arr={11,22,33,44,55};
        int number=44;
        boolean outcome=printNum(arr,number);
        System.out.println(outcome);
    }
    public static boolean printNum(int[] arr,int number) {
        for (int i = 1; i < arr.length; i++) {
            if(number==arr[i]){
                    return true;
            }
        }
        return false;
//        return break关键字区别?
//        return:其实跟循环没有什么关系,跟方法有关的,表示1结束方法;2返回结果;
//        如果方法执行到return,那么整个方法全部结束,里面的循环也会随之结束;
    }

(4)复制数组:

需求:定义一个方法copyOfRange(int[] arr,int from,int to)

功能:将数组arr中从索引from(包含from)开始。

到索引to结束(不包含to)的元素复制到新数组中,将数组返回

public static void main(String[] args) {
//需求:定义一个方法copyOfRange(int[] arr,int from,int to)
//功能:将数组arr中从索引from(包含from)开始。
//  到索引to结束(不包含to)的元素复制到新数组中,将数组返回
        int[] arr={11,22,33,4,5,55,66};
        int[] copyArr = copyOfRange(arr, 2, 6);
        for (int i = 0; i < copyArr.length; i++) {
            System.out.print(copyArr[i]+" ");
        }
    }
    public static int[] copyOfRange(int[] arr,int from,int to) {
//        定义一个数组
        int[] arr1=new int[to-from];
        int index=0;
        for (int i = from; i < to; i++) {
            arr1[index]=arr[i];
            index++;
        }
        return arr1;
    }

5.方法的基本内存原理:

  • 传递基本数据类型时,传递的是真实的数据,形参的改变,不影响实际参数值;

  • 传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数值;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值