1 /*
2 * 递归方法的使用
3 * 1.递归方法:一个方法体内调用它自身
4 * 2.方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制
5 * 递归一定要想已知方向递归,否则这种递归就变成了无穷递归,类似于死循环
6 *
7 */
8 public class RecursionTest
9 {
10 public static void main(String[] args)
11 {
12 //例1:计算1-100之间所有自然数的和
13 int sum = 0;
14 for(int i =1; i<=100;i++)
15 {
16 sum +=i;
17 }
18 System.out.println(sum);
19
20
21 //方式二
22 RecursionTest test = new RecursionTest();
23 int sum1 = test.getSum(100);
24 System.out.println(sum1);
25
26 //乘积
27 int sum2 = test.getSum1(100);
28 System.out.println(sum2);
29
30 int sum3= test.f(10);
31 System.out.println(sum3);
32
33 }
34 //例1:计算1-n之间所有自然数的和
35 public int getSum(int n)
36 {
37 if(n==1)
38 {
39 return 1;
40 }
41 else
42 {
43 return n +getSum(n -1);
44 }
45 }
46
47 //例2:计算1-n之间所有自然数的乘积
48 public int getSum1(int n)
49 {
50 if(n==1)
51 {
52 return 1;
53 }
54 else
55 {
56 return n *getSum(n -1);
57 }
58 }
59
60 //例3:已知有一个数列:f(0)=1,f(1)=4,f(n+2)=2*f(n+1)+f(n)
61 //其中n是大于0的整数,求f(10)的值
62
63 public int f(int n )
64 {
65 if(n==0)
66 {
67 return 1;
68 }
69 else if(n==1)
70 {
71 return 4;
72 }
73 else
74 {
75 return 2*f(n-1) +f(n-2);
76 }
77 }
78 }

Java 递归方法的使用 + 例子的更多相关文章

  1. 7.20.01 java格式化输出 printf 例子

    java格式化输出 printf 例子 importjava.util.Date; publicclassPrintf { publicstaticvoidmain(String[] args) { ...

  2. Java递归方法遍历二叉树的代码

    将内容过程中经常用的内容做个记录,如下内容内容是关于Java递归方法遍历二叉树的内容. package com.wzs; public class TestBinaryTree { public st ...

  3. 【转】java格式化输出 printf 例子

    [转]java格式化输出 printf 例子 转自http://www.cnblogs.com/TankMa/archive/2011/08/20/2146913.html#undefined imp ...

  4. fasttext的基本使用 java 、python为例子

    fasttext的基本使用 java .python为例子 今天早上在地铁上看到知乎上看到有人使用fasttext进行文本分类,到公司试了下情况在GitHub上找了下,最开始是c++版本的实现,不过有 ...

  5. java即时通信小例子

    学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...

  6. 关于Java深clone 的例子学习

    之前http://www.cnblogs.com/lhppom/p/4857702.html里有提到关于Java的深克隆的学习,深浅区别就是在于仅复制对象引用和复制对象引用所指向的对象,最近在看< ...

  7. 深入理解计算机系统(2.8)---浮点数的舍入,Java中的舍入例子以及浮点数运算(重要)

    前言 上一章我们简单介绍了IEEE浮点标准,本次我们主要讲解一下浮点运算舍入的问题,以及简单的介绍浮点数的运算. 之前我们已经提到过,有很多小数是二进制浮点数无法准确表示的,因此就难免会遇到舍入的问题 ...

  8. Java处理文件小例子--获取全国所有城市的坐标

    需求:前端展示数据,全国城市的坐标

  9. Java 多线程编程之九:使用 Executors 和 ThreadPoolExecutor 实现的 Java 线程池的例子

    线程池用来管理工作线程的数量,它持有一个等待被执行的线程的队列.         java.util.concurrent.Executors 提供了 java.util.concurrent.Exe ...

  10. 每天进步一点点-实例为导学-一个java对象序列化的例子

    序列化和反序列化例子 如果我们想要序列化一个对象, (对象 转 序列)首先要创建某些OutputStream(如FileOutputStream.ByteArrayOutputStream等),然后将 ...

随机推荐

  1. Jekyll安装

    本文来自Jekyll官方文档. 简介 Jekyll是一个静态网站生成器,它可以把Markdown写就的文本根据指定的布局生成静态网站.你可以调整网站的外观.URL.页面展示数据等信息. 准备工作 Je ...

  2. Go Plugin介绍

    以下内容来自官方文档. go version: 1.17.5 综述 plugin包实现了Go插件的加载和符号解析. Go插件是一个包括了可导出函数和变量的main包(可以没有main()函数),构建时 ...

  3. Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--PDF预览器框选

    项目地址: Pdfium.Net:https://github.com/1000374/Pdfium.Net PdfiumViewer:https://github.com/1000374/Pdfiu ...

  4. 解决Maven项目创建过慢问题

    在创建时弹出Proerties位置添加键值对: archetypeCatalog internal idea 常用快捷键 Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N ...

  5. 案例:推进GTID解决MySQL主主不同步问题

    之前文章介绍过MySQL修改lower_case_table_names参数,如果之前大写存储的表将无法识别,需要特殊处理. 最近遇到一例应用开发人员在修改这个参数之后,为了清除之前大写存储的表,做了 ...

  6. Power BI 11 DAY

    目录 电商平台流量分析 流量相关指标 流量数量指标 流量质量指标 度量值计算公式 流量转化率重要指标 指标观测维度 电商平台流量分析 电商平台黄金公式:销售额 = 流量 + 转化率 + 客单价 流量相 ...

  7. C 语言常用头文件解释

    C系统提供了丰富的系统文件,称为库文件,整理一下以后好实用: <stdio.h> 定义了三个变量类型.一些宏和各种函数来执行输入和输出 https://www.runoob.com/cpr ...

  8. C语言中位运算取余

    位运算取余 求一个数被另一个数整除的余数,可以用求余运算符"%",但是,如果不允许使用求余运算符,又该怎么办呢?下面介绍一种方法,是通过位运算来求余,但是注意:该方法只对除数是2的 ...

  9. 优先队列(PriorityQueue)常用方法及简单案例

    1 前言 PriorityQueue是一种特殊的队列,满足队列的"队尾进.队头出"条件,但是每次插入或删除元素后,都对队列进行调整,使得队列始终构成最小堆(或最大堆).具体调整如下 ...

  10. 【Android】使用Messenger实现进程间通讯

    1 Messenger 简介 ​ Messenger 类实现了 Parcelable 接口,用于进程间传输并处理消息,调用流程如下: Client 通过 bindService() 请求绑定 Serv ...