- 前言
引入函数前,所有的代码都写在main主函数中,代码过多,代码冗余,可读性差。引入函数后,函数是实现某一特定功能的代码块。一个类中可以定义多个函数,每个函数和main主函数都是并列关系。
- 函数:
- 语法:public static 返回值类型 函数名(形参列表){ //函数的声明部分。
//函数的实现部分
}
- 函数的三要素-- >返回值类型,函数名,形参列表
- 返回值类型:
- void -->代表该函数执行完即可,没有返回值。
- 八种基本类型,引用类型。 -- >代表该函数必须有返回值。函数中必须要有 return xxx 语句,且xxx类型必须和返回值类型一致。
- 函数名:-- >驼峰命名法:首字母全小写,其后单词首字母大写。
- 形参列表:-->定义函数时,参数的类型、数量和顺序
- 函数的调用:-- >在函数以内进行函数的调用。
- 实参列表:在函数调用时,用于给形参具体传值。
- 返回值:返回值类型如果不是void,可以后去返回值并进行使用。
- 过程:
- 调用函数时跳转到函数定义的位置;
- 实参给形参依次赋值
- 执行函数体语句
- 遇到return或者程序结束,带着返回值返回到函数调用的位置。
代码如下:
package com.lvsling.test;
public class test1 {
public static void main(String[] args) { int s1=TestFunction(2, 3); System.out.println(s1); int s2=TestFunction2(2, 3); System.out.println(s2); }
public static int TestFunction(int a,int b){ int i=a+b; return i; }
public static int TestFunction2(int a,int b){ int i=a*b; return i; } } |
- 自我总结
以上是函数的优点以及函数的具体使用方法,注意函数的三要素即可,返回值类型,函数名,形参列表。
拓展与提升:
- 函数的形参变量名相当于函数的局部变量,只能在函数的内部使用。
- main函数是静态函数,静态函数只能直接调用静态函数,可以非直接调动动态函数
- 函数的递归 -- >函数内部有调用了自身函数,注意要避免无穷递归调用。
代码如下:-->函数的递归调用。
package com.lvsling.test;
import java.util.Scanner;
/* * 计算一个数的阶乘 */ public class test2 {
public static void main(String[] args) {
System.out.println("输入一个整数:"); Scanner scan = new Scanner(System.in); int x = scan.nextInt(); int result = Recursion(x); System.out.println(result); }
//递归函数 public static int Recursion(int x){ if(x<=0){ return 1; }else{ return x*Recursion(x-1); } } } |