方法和递归

方法与递归

一:方法

1:方法的声明

(1)方法声明的语法规则:

[修饰符]返回值类型 方法名称 ([参数表]){
//方法体
}

(2)语法解析

方法体是一段代码块,用于执行方法的具体操作;

修饰符是一种关键字,包括:public,protected,private static,final,abstract,........

如果方法没有返回值,使用void关键字声明。 返回值类型反映方法完成其功能后返回的运算结果的数据类型。

方法不能嵌套,不能在一个方法中声明另外一个方法。

return返回值的类型必须与方法声明的返回类型一样。

(3)方法的注意事项

方法定义完成之后,不会自动去执行,执行方法需要先调用。

2:方法的使用

(1):如何调用方法?

a:调用同一个类中的方法,可以直接调用方法名。

b:目前我们是在main方法区调用方法,被调用的方法需要使用static修饰。

c: static 方法只能直接调用 static 方法

d:一个方法可以被多次调用

(2):类需不需要导包?

a:被调用的方法所在的类如果和调用方法的类在同一个包下,则不需要导包。

b:java.lang 包下的类不需要导包。

c:其他情况需要先导包,再使用。

(3)方法的返回值:

返回值类型, 返回值类型表示当前方法执行完后会返回一个结果,这个结果的类型就是声明时设置的类型

return 值得类型必须和声明的类型一致

(4)目前方法正常执行结束有三种情况:

  1. 所有代码正常执行

  2. 执行了 return 语句

  3. System.exit(value);【特例】

(5):方法重载的定义

在同一个类中,方法名相同,但是方法的参数,顺序,类型不同,且与返回值无关,则构成了方法的重组。

3:方法的参数

(1)可变长度参数和数组的区别:

数组作为参数必须要传值,可变长度参数则不一定 可变长度参数只能用于参数列表的最后一个,数组则不一定 可变长度参数只能在参数列表出现,数组可以定义局部变量 数组参数和可变长度参数可以同时在同一个方法的参数列表中出现,但是,参数列表只有数组和可变长度参数不同时不是重载方法(不能同时出现)

二:递归

1:定义

递归是方法自己调用自己,要在方法体内存在结束调用的代码,且必须要有结束条件。

2:例题:

用递归方法实现阶乘

public class Demo1 {
    public static void main(String[] args) {
​
        int num = 5;
        int result = factorial(num);//调用递归函数计算阶乘。
        System.out.println(result);
​
    }
    public static int factorial(int num) {
        if (num == 1){ //递归结束的条件
            return 1;
        }else{
            return num * factorial(num - 1); //递归执行的循环体
        }
    }
}
​
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值