函数的定义
根据函数所完成具体的业务需求,来定义函数的参数(具体需要哪一种类参数)
在函数功能实现时如下场景:
if("user" == username && "123456" == pwd){
System.out.println("登陆成功");
}else{
System.out.println("登陆失败");
}
当有正确的username和pwd数据传入判断语句中时,因字符串为引用数据类型,固登陆失败。
返回值与返回值类型
大体分为两种情况:
无需返回值
需要返回值
public static 返回值类型 函数名称(形式参数列表){
//函数主体
return value;//返回值
}
public class Test{
public static void main(String[] args){
System.out.println(add(5,6));
}
public static int add(int a ,int b){
return a+b;
}
}
return + 返回值 //表示结束当前的函数,并伴有返回值,返回到函数调用位置。
return;表示结束当前函数
无穷递归
会发生栈溢出。
递归使用:
当需要解决的问题可以拆分成若干的小问题,大小问题的解决方法相同
有固定规律,函数中自己调用自己
计算阶乘问题
public class TestRe{
public static void main(String[] args){
int num = 5;
int result = multiply(num);
System.out.println(result);
}
public static int multiply(int n){
if(n == 1){
return 1;
}
return n * multiply(n-1);
}
}
斐波那契问题
public class Test{
public static void main(String[] args){
//求斐波那契数列,n为前十项
int n = 10;
int result = getSum(n);
System.out.println(result);
}
public static int getSum(int n){
if(n==0){
return 0;
}
if(n==1){
return 1;
}
return getSum(n-1)+getSum(n-2);
}
}
函数的组成
形参列表、实参列表、返回值类型、返回值、函数名、函数主体。