Java方法

方法的基本属性

方法的定义

  • Java的方法类似于其他语言的 函数 ,是一段用来完成特定功能的代码片段
  • 方法存在于 类 或者 对象 之中。
  • 方法在程序中被创建,在其他地方被引用。
  • 方法设计的原则:保持 方法的原子性 ,即一个方法只完成1个功能。这有利于后期扩展。
    eg:
    public static void main
    ① public;static为 修饰符 表明方法的属性。
    ② void 是返回值类型
    ③ main 是 方法名称(其包括隐藏的形参列表)

方法组成的语法

一般情况下,定义一个方法包含以下语法
方法包含一个 方法头 和一个 方法体

  • 修饰符:(此为可选项)告诉编译器如何调用该方法,定义了该方法的使用类型。eg:(public;static 等,修饰符位置可任意调换)
  • 返回值类型:方法可能会返回 。returnValueType 是方法返回值的数据类型。
    有些方法执行所需的操作,返回一个语句,此时,returnValueType 是关键字 void
  • 方法名:是方法的实际名称,方法名参数表 共同构成方法签名。
  • 参数类型:形参。当方法被调用时,传递值给参数,这个值被称为 实参 或者变量,
    参数列表是指方法的 参数类型顺序参数个数 。参数是可选的,方法可以不包括任何参数。
    ① 形式参数:在方法被调用时用于接收外界输入的数据。
    ② 实参:调用方法时实际传递给方法的数据。
  • 方法体:方法体包含具体的语句,定义该方法的功能。

方法的调用

  • 调用方法:对象名.方法名(实参列表)
  • Java支持两种调用方法的方式,①返回值;②返回语句。
    1)当方法返回一个值的时候,方法调用通常被当作一个值。如:
    int larger = max(30,40);
    2)如果方法的返回值是void,方法调用一定是一条语句。
    System.out.println("Hello World!");

值传递 和 引用传递。###

(1)值传递(Java)

(2)引用传递

方法重载

重载的定义

重载 就是在一个类中,有相同的函数名称,但形参不同的函数。

重载的规则

方法名称必须相同。
参数列表必须不同(如个数不同,类型不同,参数排列顺序不同等)
方法的返回类型可以相同也可以不同。
仅仅返回类型不同不足以成为方法重载。

实现理论

方法名称相同时,编译器会根据调用方法的 参数个数参数类型 等去逐个匹配,
以此选择对应的方法,如果匹配失败,则编译器报错。
代码示例:

public class Demo01 {
    //main 方法
    public static void main(String[] args) {

        int max = max(10,20);
        System.out.println(max);

        double max1 = max(10,20);
        System.out.println(max1);
    }
    //比大小 int 类型。
    public static int max(int num1,int num2){

        int result = 0;

        if (num1 == num2){
            System.out.println("num1 == num2");
            return 0; //return用于终止方法
        }
        if (num1 > num2){
            result = num1;
        }
        if (num2 > num1){
            result = num2;
        }
        return result;
    }

    //比大小 方法重载 double类型
    public static double max(double num1,double num2){

        double result = 0;

        if (num1 == num2){
            System.out.println("num1 == num2");
            return 0; //return用于终止方法
        }
        if (num1 > num2){
            result = num1;
        }
        if (num2 > num1){
            result = num2;
        }
        return result;
    }
}

输出结果如下:
Java方法
可以看见,调用的方法名相同,
但为重载方法,因而输出的数据类型不同

命令行传参

使用命令行和 main()方法 传递参数。

(1)在 method包 中调用 cmd 编译类方法 并运行编译结果(java文件)。
发现无法运行编译结果。如图:
Java方法

(2)后退到scr文件中(使用cd ../),执行所编译的文件。
注意此时要补全路径。
可以看见,执行顺利,但是无输出,因为没有输入参数。
Java方法

(3)赋予 main()方法参数:“this is zfy"
Java方法

Java方法

递归

上一篇:HGD2-LSP选择集专题-网络整理


下一篇:C语言———函数(新定义理解递归)