JavaSE基础入门_005_函数

函数

函数的定义

  • 概念: 实现特定功能的一段代码, 可反复使用.

  • 定义语法:

  • public static void 函数名称() { //遵循标识符命名规范
       //函数主体[功能代码]
    }
  • 经验: 将需要在多个位置重复使用的一组代码, 定义在函数内.

 

定义的位置

  • 函数定义在类的内部, 与main函数并列.

 

函数的调用

在需要执行函数代码的位置, 通过函数名称进行调用.

public static void printSign()
{
for(int i = 1; i <= 10; i++)
{
System.out.print("-");
}
System.out.println();
}

System.out.println("低头思故乡");
printSign();//调用自定义函数
  • 注意: 调用函数时, 会优先执行函数内部代码, 结束后, 返回到函数调用处, 继续向下执行.

 

函数的参数

  • 多数情况下, 函数与调用者之间需要数据的交互; 调用者必须提供必要的数据, 才能使函数完成相应的功能.

  • 调用函数时, 所传入的数据被称为"参数"

 

形参与实参

  • 定义语法:

  • public static void 函数名称( 形式参数 ) // 形参等于局部变量的声明
    {
       // 函数主体
    }
  • 调用语法:

  • 函数名称( 实际参数 ); // 实参等于局部变量的赋值

单个参数

//定义函数
public static void 函数名称( int a)
{
   // 函数主体
}
函数名称(10);//调用函数

 

多个参数

//定义函数
public static void 函数名称( int a, char b)
{
   // 函数主体
}
函数名称(10, '+');//调用函数
  • 多参赋值的时候, 除了要注意数据类型, 数据顺序, 数据个数都要一一匹配

 

如何定义参数

  • 经验: 根据具体的业务需求, 来定义函数的参数.

 

返回值与返回值的类型

  • 函数调用时, 一些情况下无需返回结果; 另一些情况下则必须返回结果.

  • 定义语法:

  • public static 返回值类型 函数名称( 形式参数列表 )
    {
       // 函数主体
       return value; // 返回值
    }
  • 规定返回值的具体类型: 基本 , 布尔, 引用

  • 根据需求返回一个结果 ( 值 )

  • 调用语法:

  • 变量 = 函数名称(); 

return关键字

  • 一个函数只能有一个返回值.

  • 当有返回值的函数存在分支结构时,必须保证每一条分支都具有正确的返回值.

  • return的两种用法:

    1. 应用在具有返回值类型的函数中:

      • return value : // 表示结束当前函数, 并伴有返回值, 返回到函数调用处

    2. 应用在没有返回值类型(void) 的函数中:

      • return; //表示结束当前函数, 直接返回到函数调用处.

小结

  • 注意: 一个类中可以定义多个函数, 函数之间属于并列关系, 不可嵌套

  • 经验: 一个函数只做一件事. ( 单一职能原则 )

  • 好处:

    • 减少代码冗余

    • 提高复用性

    • 提高可读性

    • 提高可维护性

    • 方便分工合作

递归

多级调用

函数内部调用其他函数

 

无穷递归

  • 递归: 函数内部自己调用自己.

  • 无穷递归: 函数内部调用自身, 没有结束.

  • 当函数自己调用自己时, 如果没有正确的出口条件, 则产生无穷递归.

 

递归

  • 实际开发中,递归可以解决具有既定规律的特定问题

  • 何时使用递归?

    • 当需要解决的问题可以拆分成若干个小问题, 大小问题的解决方法相同

    • 有固定规律, 函数中自己调用自己

  • 如何正确使用递归?

    • 设置有效的出口条件, 避免无穷递归.

  • 递进:

    • 每一次推进,计算都比上一次变得简单, 直到简单到无需继续推进, 就能获得结果. 也叫到达出口

  • 回归:

    • 基于出口的结果, 逐层向上回归, 依次计算每一层的结果, 直至回归到最顶层.

  • 递归与循环可以相互解决.

 

 

总结

  • 函数的概念:

    • 实现特点功能的一段代码, 可反复使用

  • 函数的定义:

    • public static void 函数名() { 函数的主体 }

  • 函数的组成:

    • 形参列表, 实参列表, 返回值类型, 返回值, 函数名, 函数主体

  • 函数的调用:

    • 函数名(实参...)

  • 函数的好处:

    • 减少冗余, 提高复用性, 可读性, 可维护性, 方便分工合作

  • 递归:

    • 将大问题拆分成若干小问题, 大小问题的解决方法相同, 有固定规律, 函数中自己调用自己

原文地址:https://www.cnblogs.com/77-is-here/p/12869571.html