九天学会Java,第五天,函数定义函数调用

  • 变量和数据类型,赋值和输出
  • 算术运算
  • 选择结构
  • 循环结构
  • 函数定义,函数调用
  • 变量作用域
  • 栈,程序运行的基石
  • 面向对象
  • 异常处理
  • 语言提供的公用包

什么是函数,为什么有函数,大家可能有这样的疑问。
举一个例子来回答大家的疑问:比如一个财务软件,里面需要反反复复地把很多账单加起来,过去一周的,过去一月的一年的。为了提高代码的复用性,我们把账单相加这个功能封装成一段独立的小程序。当下次再面临账单相加时,就调用这段小程序。那么这种封装的形式就叫做“函数”

函数的格式

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)
{
    执行语句;
    return 返回值;//有可能有return,有可能无return
}

函数的定义

我们参考函数的格式定义几个函数

因为我们要在public static void main(String[] args) 中调用函数,所以函数也要定义成static。

static 修饰的方法我们称之为静态方法,属于类级别,不是对象级别。他在类加载的时候就存在了。static 方法只能调用 static 方法

/**
 * 本节讲函数的定义和调用
 * 同时也复习前面学习的内容
 */
public class FifthLesson {
    /**
     * 定义一个justPrintMax函数
     * void指没有返回值,该函数不会返回任何值
     * @param a 参数a
     * @param b 参数b
     * @param c 参数c
     */
    public static void justPrintMax(int a, int b, int c) {
        /**
         * 当调用者调用该函数
         * 参数a,b,c会分别被传值
         * 然后进入函数体
         */
        /**
         * 定义一个int,变量名是max
         * 把a的值赋值给max
         */
        int max = a;
        /**
         * 如果b 大于 max,则
         * 执行 max = b
         * 此时 max是a,b两者的最大值
         */
        if (b > max) {
            max = b;
        }
        /**
         * 如果c 大于 max,则
         * 执行 max = c
         * 此时 max是a,b,c三者的最大值
         */
        if (c > max) {
            max = c;
        }
        /**
         * 输出max值,没有返回
         */
        System.out.println(max);
    }

    /**
     * 定义一个getMax函数
     * 此函数有返回值
     * @param a 参数a
     * @param b 参数b
     * @param c 参数c
     * @return 返回三者的最大值
     */
    public static int getMax(int a, int b, int c) {
        /**
         * 新建一个int,变量名是max
         * 把 a 赋值 给 max
         */
        int max = a;
        /**
         * 如果 b 大于 max
         * 则执行 max = b
         */
        if (b > max) {
            max = b;
        }
        /**
         *  如果 c 大于 max
         *  则执行 max = c
         */
        if (c > max) {
            max = c;
        }
        /**
         * 返回max
         */
        return max;
    }

    public static void main(String[] args) {
        /**
         * 调用justPrintMax函数
         * 把3传给a,5传给b,2传给c
         */
        justPrintMax(3, 5, 2);
        /**
         * 调用getMax函数
         * 把3传给a,5传给b,2传给c
         * 新建变量max
         * 取函数返回值,传给max
         */
        int max = getMax(3, 5, 2);
        System.out.println(max);
    }
}

为什么要用函数

  1. 使程序变得更简短而清晰。
  2. 有利于程序维护。
  3. 可以提高程序开发的效率。
  4. 提高了代码的重用性。

总结

  • 函数如果声明成void则没有返回值
  • 使用函数之前,要先定义函数
  • 使用函数要按函数的定义传递参数

作业

  • 写一个函数,输入是String name, 比如输入是“小楠”,输出是 "我爱小楠"
  • 写一个函数,输入语文,数学,英语三门课的成绩,输出三门课的平均分

完整章节

posted @ 2017-09-05 11:55  kayv  阅读(494)  评论(3编辑  收藏  举报