快速入门 - Java 函数(方法)


什么是函数?

为了提高代码的复用性,把功能独立封装成一段独立的小程序,当下次需要执行功能时,可以直接调用这个段小程序,那么这种封装形式的具体表现称作函数。

定义函数

  1. 是否有未知内容参与运算
  2. 是否有运算结果(返回值)

函数的特点

  1. 定义函数可以将功能代码进行封装
  2. 便于对该功能进行复用
  3. 函数只有被调用才会被执行
  4. 函数的出现提高了代码的复用性
  5. 对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。

注意:

必须以字母、'_'或'$'开头。 可以包括数字,但不能以它开头。 函数中只能调用函数,不可以在函数内部定义函数。 定义函数时,函数的结果应该返回给调用者,交由调用者处理。

函数的格式

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)

    {
        执行语句;
        return 返回值;
    }

修饰符:修饰符,这是可选的,告诉编译器如何调用该函数。定义了该函数的访问类型。

返回值类型 :函数可能会返回值。returnValueType是函数返回值的数据类型。有些函数执行所需的操作,但没有返回值。在这种情况下,returnValueType是关键字void。

函数名:是函数的实际名称。函数名和参数表共同构成函数签名。

参数类型:参数像是一个占位符。当函数被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指函数的参数类型、顺序和参数的个数。参数是可选的,函数可以不包含任何参数。

函数体:函数体包含具体的语句,定义该函数的功能。

实例:

    /** 返回两个整型变量数据中较大的值 */
    public static int maxValue(int num1, int num2) {
        int result;
        if (num1 > num2)
            result = num1;
        else
            result = num2;
        return result;
    }

方法调用

Java支持两种调用函数的方式,根据函数是否返回值来选择。

当程序调用一个函数时,程序的控制权交给了被调用的函数。当被调用函数的返回语句执行或者到达函数体闭括号时候交还控制权给程序。

实例:

    public class TestMax {
        /** 主函数 */
        public static void main(String[] args) {
            int i = 10;
            int j = 8;
            int k = maxValue(i, j);
            System.out.println( i + " 和 " + j + " 比较,最大值是:" + k);
        }
    
        /** 返回两个整型变量数据中较大的值 */
        public static int maxValue(int num1, int num2) {
           int result;
           if (num1 > num2)
              result = num1;
           else
              result = num2;
          
           return result; 
        }
    }

运行结果如下:

    10 和 8 比较,最大值是:10

分析:

程序包含main函数和maxValue函数。main函数是被JVM虚拟机调用的,除此之外,main函数和其它方法没什么区别。

main函数的头部是不变的,如实例所示,带修饰符public和static,返回void类型值,方法名字是main,此外带个一个String[]类型参数。String[]表明参数是字符串数组。