import java.math.BigDecimal;

/**

* 递归计算1+2+3+...+100

*

* @author dell

*

*/

public class Test {

public static void main(String[] args) {

System.out.println(gt(100));

System.out.println(gt1(100));

System.out.println(new Test().gt3(1));

System.out.println(fun(5));

}

// 递归算法100+99+..+1

static int gt(int i) {

int sum = 0;

;

if (i == 1) {

return 1;

} else {

sum = i + gt(i - 1);

return sum;

}

}

// 普通循环算法

static int gt1(int m) {

int num = 0;

for (int i = 1; i <= m; i++) {

num = num + i;

}

return num;

}

// 递归算法1+2+3+..+100

int gt3(int n) {

int sum;

if (n != 100) {

sum = n + gt3(n + 1);

return sum;

} else {

return n;

}

}

// 阶乘5*4*3*2*1

static int fun(int n) {

if (n == 0 || n == 1)

return 1;

else

return n * fun(n - 1);

}

}

java中的递归算法_java中的递归算法相关推荐

  1. java变量存储位置_java 中变量存储位置的区别

    [原文] 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量 ...

  2. java可以多重继承吗_Java中的多重继承与组合vs继承

    java可以多重继承吗 有时我写了几篇有关Java继承,接口和组成的文章. 在这篇文章中,我们将研究多重继承,然后了解组成优于继承的好处. Java中的多重继承 多重继承是创建具有多个超类的单个类的能 ...

  3. java中有没有栈_Java中堆和栈有什么区别

    stack 和 heep 都是内存的一部分stack 空间小,速度比较快, 用来放对象的引用heep 大,一般所有创建的对象都放在这里.栈(stack):是一个先进后出的数据结构,通常用于保存方法(函 ...

  4. java 静态资源变量_Java中读取配置文件中的内容,并将其赋值给静态变量的方法...

    项目开发中某个功能需要抽取成方法写成一个工具类,提供给别人使用.写过工具类的人都知道,工具类中的方法一般都是静态方法,可以直接使用类名点方法名调用, 使用很方便,比如判断某个对象是否为空的方式Obje ...

  5. java 删除list元素_JAVA中循环删除list中元素的方法总结

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...

  6. java和equals区别_JAVA中==与equals的区别

    equals如果没有被重写的话,和==的作用是一样的,都是判断两个对象引用是否指向同一个地址.一般重写了equals()方法就表示比较它们"实际意义上相等",比较的是内容,而不是引 ...

  7. java为什么要初始化_JAVA中到底要怎么样初始化

    Java中的变量作用范围: 1. 类的属性,或者叫值域 2. 方法里的局部变量 3. 方法的参数 对于第一种变量,Java虚拟机会自动进行初始化.如果给出了初始值,则初始化为该初始值.如果没有给出,则 ...

  8. java中hashcode作用_Java中hashCode的作用

    以下是关于HashCode的官方文档定义: hashcode方法返回该对象的哈希码值.支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表. hashCode  ...

  9. java 基本类型 引用_java中 引用类型 和 基本类型 有何区别?

    栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. Java的堆是一个运行时数据区,类的(对象从中分配空间.这些对象通过new.newa ...

  10. java .this的用法_JAVA中this用法小结

    Java中的this随处可见,用法也多,现在整理有几点: 1. this是指当前对象自己. 当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this引用.如下面这个例子中: 1 publi ...

最新文章

  1. 看图说OpenGL之二之投影矩阵求法
  2. 简单的函数(也叫方法)
  3. Windows核心编程 第十七章 -内存映射文件(上)
  4. 【控制】《多无人机协同控制技术》周伟老师-第5章-基于滑模控制的无人机编队运动控制策略
  5. VMware内存回收与分配机质
  6. 获取html滚动条位置,pc和移动端获取滚动条的位置
  7. Unreal4 IOS上使用第三方库和C++11 特性问题解决
  8. C++友元:友元函数、友元类和友元成员函数
  9. 再见 SIM 卡,你好 eSIM !华为回应不上市;熊猫直播正式关停 | 极客头条
  10. 《An Introduction to Ray Tracing》—— 2.4 Ray/Box Intersection
  11. rem + vw 布局
  12. SLAM技术与市场杂谈
  13. 第7集 驱动与电气原理图绘制
  14. 使用stress,压力测试K8S的POD cpu
  15. 如何打开别人的Android项目
  16. 好看又实用的英文字体
  17. Android微信授权登录
  18. mac桌面文件不见了怎么办?
  19. 行业研究报告-全球与中国白光LED电子皮镜市场现状及未来发展趋势
  20. 手淘抓包、 x-sign的签名算法和api接口

热门文章

  1. 上汽集团金忠孝: 人工智能时代的汽车将发生颠覆的变革
  2. ylb:使用sql语句实现添加、删除约束
  3. Linux下实现apache代理tomcat
  4. 不可不知的Python模块: collections
  5. 当前不会命中断点 源代码与原始版本不一致
  6. 关闭VMware 不用的服务
  7. python 版本比较函数 LooseVersion StrictVersion
  8. linux centos7 安装使用 惠普 hp 打印机
  9. centos6 安装 redis
  10. centos6.8 配置 tomcat