Java中的函数
第一节:函数的概念
为了实现特定功能而实现的一段代码,可以重复的进行使用
第二节:函数的定义
位置:和main方法并列,不能定义在方法的内部或者类的外部
main方法解析:
public static void main(String[] args){}
修饰符 静态的 无返回值 方法名(形参列表){//用于接收实参的,一一对应,实参传递给形参,单向传递
}
例子:
//定义一个函数(方法) 输出直角三角形
public static void zhiJiao(){
//功能代码
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print("* ");
}
System.out.println();
}
}
// 函数语法
//修饰符 返回值类型 方法名(形参列名){方法体}
// 有返回值时,方法体内 一定要有 return
第三节:函数的组成部分
修饰符 返回值类型 函数名(形参列表){
方法体
}
第四节:函数的调用
函数名(实参列表) 列表的意思是 可以是0-n个参数
注意:实参单向传递给形参,一一对应!
基本数据类型 作为参数传递,只是传递值的副本,不影响本身。
函数的生命周期: 调用时,才激活,函数运行结束后,立即消亡。
返回值,功能完成后,需要给调用者一个结果。
① return 有返回值时,方法内 写 return 关键字, return 结果的数据类型要和 方法的返回值类型一致
②定义方法时,指明返回值类型 (基本,引用,void)
第五节 return 关键字
return 功能 :
- 返回值
- 结束所在方法
return 和 break 区别:break 结束本层循环,return 结束所在的整个方法。
特别注意:return 后的代码不会执行。
第六节 递归
递归: 把大问题分解成若干个小问题,解决方法相同,有固定规律,自己调用自己。
避免无穷递归使用:
- 得有出口条件
- 自己调用自己
- 每次分解都比上一次简单,朝着出口条件递进
示例:实现斐波那契数列
//规律 1, 1 ,2, 3, 5 ,8 。从第三个数开始,为前两个数的和。
private static int get(int n) {
if(n==1||n==2) {
return 1;
}else {
return get(n-1)+get(n-2);
}
}