Java方法02:可变参数和递归
2021/9/4 20:35:58
本文主要是介绍Java方法02:可变参数和递归,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
可变参数
从JDK 1.5开始,Java支持传递同类型的可变参数给一个方法
具体规则:
-
在方法声明中,在指定参数类型后加一个省略号(...)
-
一个方法只能有一个可变参数,且位置必须是最后一个参数,普通参数要在它之前声明
public class Hello { public static void main(String[] args) { add(1, 2, 3, 4, 5); //可以传递任意个参数 } public static void add(int...nums) { //如果还有普通参数,一定要放在前面 int max = nums[0]; for (int i = 1; i < nums.length; i++){ if (nums[i] > max){ max = nums[i]; } } System.out.println("最大值为:" + max); } }
递归
递归就是方法自己调用自己,递归通常把一个大型复杂的问题层层转化为一个与原问题i相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大减少了程序的代码量
不建议使用递归,容易导致栈溢出!
递归结构包括两部分
-
递归头:什么时候不需要调用自身方法。如果没有头,将陷入死循环
-
递归体:什么时候需要调用自身方法
public class Hello { public static void main(String[] args) { System.out.println(f(5)); //计算n的阶乘 } public static int f(int n) { if (n == 1){ //递归头,终止递归的条件,当n == 1时终止 return 1; }else{ //递归体,当n != 1时,向下递归 return n * f(n - 1); } } }
练习:编写一个计算器,且循环接收用户输入
这篇关于Java方法02:可变参数和递归的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-08如何在敏捷项目中实现高效测试?
- 2024-07-08用户故事一定要有 “So that...” 吗?
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt