2021-07-21

1、简述递归方法的作用及优缺点。
递归方法可以使用重复方法、少量代码,即可实现复杂功能的 实现;
递归方法一定要有出口,否则无限递归调用,直到出现 StackOverflowError(栈内存溢出)错误;
递归方法的递归次数也不能过多,否则同样出现 StackOverflowError(栈内存溢出)错误;
递归方法都可以使用非递归方法解决,比如循环
2、简述this关键字的使用。
this.属性名:来访问类中的成员变量,用来区分成员变量和局部变量(重名问题,如前面章节的有参构造方法属性赋值);
this.方法名(参数值…):用来访问本类的成员方法,通常直接省略;
this(参数值…):访问本类的构造方法。
3、简述Java中静态代码块的特点。
静态初始化块,用于类的初始化操作。
static代码块随着类的加载而加载,并且只初始化执行一次;
静态初始化块中不能直接访问非static成员;
静态初始化块可以置于类中的任何地方,类中可以有多个静态初始化块,多个静态代码块会按照书写顺序加载。
4、使用递归实现求n!。
public class RecursiveTest {
public static void main(String[] args) {
// 调用递归方法,求n的阶乘
int res=getRecursive(5);
System.out.println(res);
}
// 递归方法,求n的阶乘
public static int getRecursive(int n) {
if(n==1) { // 如果为1的时候,就跳出,不再递归
return 1;
}else {
// n非1的情况下,继续调用本身,获取前一个数的递归结果
int res=n*getRecursive(n-1);
return res;
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值