Java函数知识点集合(例题:满足abc=a!+b!+c!的三位数整数abc和利用递归计算阶层)

本文深入讲解函数的概念,包括定义、参数、返回值及作用,通过实例演示如何使用递归计算阶乘,提升代码复用性和可读性。

一. 函数的定义
概念:实现特定功能的一段代码,可反复使用。定义语法:
Public static void 函数名称(){
//函数主体
}
(注:函数名称-标识符的命名规范:由数字、字母、$、“_”组成,且不能由数字开头,首个单词的首字母小写,其余单词首字母大写,没有长度限制)
定义的位置:函数定义在类的内部,与main函数并列
函数的调用:在需要执行函数代码的位置,通过函数名称进行调用
格式:函数名称()
(注:调用函数是,会优先执行函数内部代码,结束后,返回到函数调用处,继续向下执行)
二. 函数的参数
概念:多数情况下,函数与调用者之间需要数据的交互;调用者必须提供必要的数据,才能使函数完成相应的功能
形参和实参:
定义语法:
public static void 函数名称(形式参数){
//函数主体
}
调用语法:
函数名称(实际参数);

public static void println(int len,char echo){
	for(int i = ;i<=count;i++){
		System.out.print(sign);
	}
}

三. 函数的返回值
概念:函数调用时,一些情况无需返回结果,另一些情况下则必须返回结果
定义语法:
public static 返回值类型 函数名称(形式参数列表){
//函数主体
return value;//返回值
}
调用语法:
变量 = 函数名称();//变量类型与返回值一致
注:void表示无返回值
有返回值类型的函数中:return表示结束当前函数,并伴有返回值,返回到函数调用处
没有返回值也可以使用:return表示结束当前函数,字节返回导函数调用处
函数只能有一个返回值
函数必须得出一个相应的返回值
注意:一个类中可以定义多个函数,函数之间属于并列关系,不可嵌套
四. 函数的作用
好处:
减少代码冗余
提高复用性
提高可读性
提高客维护性
方便分工合作

例题:
一个三位数的整数abc,满足abc=a!+b!+c!,求这个三位数abc的值
阶层:n!=n*(n-1)(n-2)……*1
解:

package test1;
public class T5{
	public static void main(String[] args){
		for(int abc = 100;abc<=999;abc++){
			int a = abc/100;
			int b =abc%100/10;
			int c = abc%10;
			int result=fact(a)+fact(b)+fact(c);
			if(result==abc) System.out.println(abc);
		}
	}
//计算n阶层
	public static int fact(int n){
		int result = 1;
		for(int i = 1;i<=n;i++){
			result*=i;
		}
		return result;
	}
}

五. 函数的递归
函数的嵌套调用
无穷递归:当函数自己调用自己时,如果没有正确的出口条件,则产生无穷递归(输出StackOverflowError)

例题:利用递归计算n的阶层

package test1;
import java.util.Scanner;
public class T5{
	public static void main(String[] args){
		//获取键盘功能
		System.out.println("请输入一个整数");
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		System.out.println(fact(n));
	}
	public static int fact(int n){
		if(n==1)return 1;
		return fact(n-1)*n;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值