1、递归:就是方法自己调用自己。

public class Test01 {
public void test(int n) {
if (n > 2) {
test(n -1);
}
System.out.println(n);
} public static void main(String[] args) {
Test01 tes = new Test01();
tes.test(4);
}
}

2、递归规则:

递归过程和栈的工作原理一致,递归调用就是通过栈这种数据结构完成的,整个过程实际上就是一个栈的入栈和出栈问题。

那么递归中的“递”就是入栈,递进;“归”就是出栈,回归。

3、递归示意图:

  每调用一次方法开辟一个新的独立空间。

Java基础学习:5、递归的更多相关文章

  1. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  2. Java基础学习-- 继承 的简单总结

    代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...

  3. Java基础学习中一些词语和语句的使用

    在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...

  4. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  5. 转载-java基础学习汇总

    共2页: 1 2 下一页  Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3     Java基础学习总结——Java对象的序列化和 ...

  6. java基础学习总结——开篇

    java是我学习的第一门编程语言,当初学习java基础的时候下了不少功夫,趁着这段时间找工作之际,好好整理一下以前学习java基础时记录的笔记,当作是对java基础学习的一个总结吧,将每一个java的 ...

  7. Java基础学习笔记(一)

    Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...

  8. java基础学习总结——java环境变量配置(转)

    只为成功找方法,不为失败找借口! 永不放弃,一切皆有可能!!! java基础学习总结——java环境变量配置 前言 学习java的第一步就要搭建java的学习环境,首先是要安装 JDK,JDK安装好之 ...

  9. JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...

  10. [转帖]java基础学习总结——多态(动态绑定)

    https://www.cnblogs.com/xdp-gacl/p/3644035.html 多态的概念 java基础学习总结——多态(动态绑定) 一.面向对象最核心的机制——动态绑定,也叫多态

随机推荐

  1. 一个通用的 java 项目的模板

    #!groovy def oper_checkout(SCM_TYPE,SCM_URL,SCM_AUTH_PASS,SCM_BRANCH=' ',SCM_AUTH_USER=' '){ if (SCM ...

  2. Windows / Mac 安装Typora

    Typora Typora 是一款支持实时预览的 Markdown 文本编辑器. 附件下载:Typora 附件 Windows版本 1.解压Typora_1.3.8_windows.rar文件 2.双 ...

  3. 【红米note7开bl锁】快乐开锁人

    背景:开发者模式已打开,绑定账号时间已经超过时间,能够连接电脑数据线没有问题,能够进入fast模式问题:无法连接上小米官方解锁软件解决:方法1:(尝试1)在小米社区看到了一个 1-手机关机 2-开启f ...

  4. Docker安装Tomcat应用服务器

    1.安装镜像 1. Install the image: 可以先到https://hub.docker.com/  搜索镜像 You can get there first. https://hub. ...

  5. Backbone 网络-ResNet 论文解读

    摘要 残差网络(ResNet)的提出是为了解决深度神经网络的"退化"(优化)问题. 有论文指出,神经网络越来越深的时候,反传回来的梯度之间的相关性会越来越差,最后接近白噪声.即更深 ...

  6. LG P2617 Dynamic Rankings

    \(\text{Problem}\) 动态区间第 \(k\) 小 Dynamic Rankings \(\text{Analysis}\) 整体二分 原本一个询问可二分,但多个询问效率太低 考虑离线, ...

  7. Postgresql WAL日志浅析

    一.预写日志(WAL) 预写式日志(Write Ahead Log,WAL)是保证数据完整性的一种标准方法.简单来说,WAL的中心概念是数据文件(存储着表和索引)的修改必须在这些动作被日志记录之后才被 ...

  8. Python 01-Unittest的使用 unittest简单应用

    class TestCase01(unittest.TestCase):     def setUp(self):         print("用例开始")     def te ...

  9. day11_多态&抽象类&接口

    1.多态 1.1 多态的概述(记忆) 什么是多态     同一对象,在不同时刻表现出来的不同形态. 多态的前提 有继承/实现关系 有方法重写 有父类对象的引用执行子类对象 1.2 多态中的成员访问特点 ...

  10. WPFMVVM实现ICommand与INotifyPropertyChanged接口

    话不多说直接上代码 INotifyPropertyChanged实现代码 internal class NotifyBase : INotifyPropertyChanged { public eve ...