国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - Java中的遞歸詳解(用遞歸實現99乘法表來講解)

Java中的遞歸詳解(用遞歸實現99乘法表來講解)

2019-12-14 14:56junjie JAVA教程

這篇文章主要介紹了Java中的遞歸詳解(用遞歸實現99乘法表來講解),本文給出了普通的99乘法實現方法和用遞歸實現的方法,并對比它們的不同,體現出遞歸的運用及理解,需要的朋友可以參考下

1:普通實現99乘法表太簡單,是個程序員都會,實現如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package test.ms;
 
public class Test99 {
 
  public static void main(String[] args) {
 
  for(int i=1; i<=9;i++){
   for(int j=1; j<=i; j++){
   System.out.print(j+" * "+i+ " = "+(i*j) +" ");
   }
   System.out.println();
  }
}
  
}

2:用遞歸方式實現 99乘法表
代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package test.ms;
 
public class MultiTable {
 public static void main(String args[]) {
    m(9);
  }
 
  /**
   * 打印出九九乘法表
   * @param i
   */
  public static void m(int i) {
    if (i == 1) {
      System.out.println("1*1=1 ");
    } else {
      m(i - 1);
      for (int j = 1; j <= i; j++) {
        System.out.print(j + "*" + i + "=" + j * i + " ");
      }
      System.out.println();
    }
  
}

遞歸的方式調用圖示:

Java中的遞歸詳解(用遞歸實現99乘法表來講解)

每一個方法的調用都會產生一個棧幀,壓入到方法棧,當遞歸調用的時候,方法棧中棧幀的圖示和上圖類似。
去掉方法中棧幀的引用關系更加直觀:如下圖所示:

Java中的遞歸詳解(用遞歸實現99乘法表來講解)

簡化掉相應的方法調用最后執行情況如上圖所示,注意 i 一直在變  j每次都是從1開始 然后遞增到和i相等。
這樣上圖依次出棧后就得到了 99 乘法表:

總結:

嵌套for循環 和  用遞歸實現 的比較:

棧 主要是用來存放棧幀的,每執行一個方法就會出現壓棧操作,所以采用遞歸的時候產生的棧幀比較多,遞歸就會影響到內存,非常消耗內存,而使用for循環就執行了一個方法,壓入棧幀一次,只存在一個棧幀,所以比較節省內存。

歡迎狠狠的拍磚。直到砸暈。

延伸 · 閱讀

精彩推薦
599
主站蜘蛛池模板: 久久精品2019中文字幕 | 国产成人在线看 | 欧美精品网 | 精品久久一区 | 九九国产精品视频 | 欧美在线电影 | 国产精品毛片在线 | 日韩中文一区二区三区 | 亚洲一区精品在线 | 色中色综合| 欧美激情一区二区三级高清视频 | 国产精品亚洲第一区在线暖暖韩国 | 免费啪啪网站 | 四虎免费看黄 | 欧美日韩亚洲一区二区 | 国产精品一区二区不卡 | av一区二区在线观看 | 国产精久久久 | 亚洲综合一区二区 | 欧美精品成人一区二区在线 | 中文字幕成人网 | 91麻豆精品国产91久久久久久久久 | 日本久久精品视频 | 亚洲欧美另类久久久精品2019 | 色www精品视频在线观看 | 亚洲精品一区二区三区不 | 视频一区二区三区中文字幕 | 国产欧美综合一区二区三区 | 亚洲免费观看视频网站 | 一区二区三区久久久久 | 在线影院av | 99热这里有精品 | 日韩电影在线看 | 久久久久成人精品免费播放动漫 | 一级电影在线观看 | 久久久精品在线 | 精品免费久久久久 | 日韩中文字幕在线观看 | 色中色av | 日韩午夜电影 | 日韩精品久久 |