Java第二阶段!!!


java方法详解


方法的定义:(类似于c中的函数)

  • 方法是解决一类问题的步骤的有序集合

  • 方法包含于类或对象中

  • 方法在程序中被创建,在其他地方被引用

    方法需要保持原子性

    即一个方法完成一个功能。

    方法的命名

    修饰词 + 返回值类型+ 方法名(注意大小写)+(形参列表){

    方法体

    return …

    }

    example:


import java.util.Scanner;

public class Method {
    //main方法
    public static void main(String[] args) {
        Scanner  scanner=new Scanner(System.in);
        Method method=new Method();
        int a=scanner.nextInt();
        int b= scanner.nextInt();

        System.out.println("max:"+max(a,b));
        System.out.println("min:"+method.min(a,b));


    }
    // 类方法 static 来表示该方法为类方法可直接调用
    public static int max(int a,int b){
        return (a>b)?a:b;
    }
    //一般方法无static需要构造对象来使用它
    public  int  min(int a,int b){

   return (a<b)?a:b;

}

}

拓展:值传递和引用传递

1.java一般为值传递型

值传递:是指在调用函数时,将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,就不会影响到实际参数
import java.util.Scanner;

public class Method {
    //main方法
    public static void main(String[] args) {
        Scanner  scanner=new Scanner(System.in);

        int a=scanner.nextInt();

        System.out.println("值为:"+change(a));
        System.out.println("a为"+a);
    }
    // 类方法 static 来表示该方法为类方法可直接调用
    public static int change(int a){
        return a=a+1;
    }
}


结果:

10
值为:11
a为10
引用传递:是指在调用函数时,将实际参数的地址传递到函数中,那么在函数中对参数进行修改,将会影响到实际参数

类似于c当中的址传递。

方法的重载:

重载就是在一个类中,有相同方法名,但形参不同的方法

规则:

  • 方法名必须相同
  • 参数列表必须不同(个数不同,或类型不同,排列顺序不同等)
import java.util.Scanner;

public class Method {
    //main方法
    public static void main(String[] args) {
        Scanner  scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        System.out.println("1./t"+add(a,b));
        System.out.println("2./t"+add(a));

    }
    // 类方法 static 来表示该方法为类方法可直接调用
 public static  int  add(int a,int b){
        return a+b;
    }
    public static  int  add(int a){
        return a+=1;
    }
}
结果:
 5
 6
1.	11
2.	6

可变参数:(实质为创建数组)

import java.util.Scanner;

public class Method {
    //main方法
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int[] b = {0, 1, 2, 3};
        System.out.println(b[0]);
        System.out.println(add(a, b));
    }

    // 表示:数据类型后+...
    public static int add(int a, int... b) {
        return a + b[1];
    }

}

8
0
9

注意:一个形参列表只能有一个可变形参,且需在末尾。

!!!递归

就是a方法调用自己的方法。

举例:求7的阶乘!

public class DiGui {
    public static void main(String[] args) {

        System.out.println(f(7));


    }

    public static int f(int a) {
        if (a == 1) {
            return 1;
        } else {

            return a * f(a - 1);


        }


    }
}


5040

进程已结束,退出代码0

调试视频需要加qq:2361047272

Java第二阶段!!!

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/280179.html

(0)
上一篇 2022年8月12日
下一篇 2022年8月12日

相关推荐

发表回复

登录后才能评论