Java方法

77 阅读1分钟

什么是方法?

将重复的代码或者具有独立功能的代码抽取到方法中.方法是程序中最小的执行单元,可以提高代码的复用性和可维护性

W7OEJK5G6{Q(G99T1OQEPI3.png

1~JF)3TY7V5I98L89W$IRFN.png

方法的定义

简单方法的定义与调用

先定义后调用

public class define {
    public static void main(String[] args) {
        playgame();//调用方法
    }
    public static void playgame(){//定义一个方法
        System.out.println("加油");
    }
}

输出:加油!

带参数的方法的定义与调用

public static void main(String[] args) {
getSum(10,20);//实参
}
public static void getSum(int num1,int num2){//定义一个方法
   int result=num1+num2;
    System.out.println(result);
}

输出:30

形参:方法定义中的参数

实参:方法调用的参数

方法调用时,形参与实参必须一一对应

带返回值的方法的定义与调用

方法的返回值是方法运行的最后结果(需要使用方法的结果)

KTQW@B7_T66}6@Q%~1GD3IQ.png

public static void main(String[] args) {
    System.out.println(getSum(10,20,30));//输出60
} 
public static int getSum(int num1,int num2,int num3){
    int result=num1+num2+num3;
    return result;
}

方法的重载

NATM26C%GPXUXG5SX9$79.png

java虚拟机通过参数的不同区分同名的方法.

public static void main(String[] args) {
compare(10,20);
}
public static void compare(byte b1,byte b2){//自动调用
    System.out.println(b1==b2);
}
public static void compare( short b1,short b2){
    System.out.println(b1==b2);
}
public static void compare( int b1,int b2){
    System.out.println(b1==b2);
}
public static void compare(long b1,long b2){
    System.out.println(b1==b2);
}

false

OXK@Q`5LFXK2{{TOPACW~7N.png

数据类型

U}ABTIJ5VBD@39}L5WBGW$T.png

@S_1ZAV(C}]CT}3VUM6MA.png

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

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

  • [1] string
  • [2]数组
  • [3]自定义类
public static void main(String[] args) {
    int number=100;
    System.out.println("调用change方法前:"+number);
    change(number);//先出栈
    System.out.println("调用change方法后:"+number);
}
public static void change(int number) {
    number=200;
}

输出:

调用change方法前:100
调用change方法后:100