程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中一個for語句招致無限年夜逝世輪回的例子

Java中一個for語句招致無限年夜逝世輪回的例子

編輯:關於JAVA

Java中一個for語句招致無限年夜逝世輪回的例子。本站提示廣大學習愛好者:(Java中一個for語句招致無限年夜逝世輪回的例子)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中一個for語句招致無限年夜逝世輪回的例子正文


在Java開辟中經常使用到For輪回,它對簡化營業處置,進步效力,異常有贊助。但要避免法式算法中能夠招致逝世輪回的情形,並且有的逝世輪回還欠好發覺。好比上面這個例子,算法極輕易以為是50,現實上是無限年夜的一個逝世輪回。

public class CycTest { 
  /** 
   * @param args the command line arguments 
   */ 
  public static void main(String[] args) { 
    int end = Integer.MAX_VALUE; //界說個輪回終止數,可以無窮年夜,差別於int型。 
    int start = end-50;     //界說肇端值 
    int count = 0;        //初始值 
    for(int i=start;i<=end;i++){ //輪回體 
      count++;         //輪回計數 
    System.out.println("本次輪回次數為:"+count); //輸入 
  } 
  }  
} 

輸入成果:

run: 
本次輪回次數為:1 
本次輪回次數為:2 
本次輪回次數為:3 
...... 
本次輪回次數為:49 
本次輪回次數為:50 
本次輪回次數為:51 
...... 

總結:
能夠有人以為輸入成果會是50次,現實上這是個逝世輪回。end是無窮年夜的數,i<=end也就是無窮年夜的數。所以說是無極限的。for(int i=start,i<end;i++),成果就是50了。i<end,表現界限值不克不及是一個無限年夜致, 而從start到end也就釀成了一段區間了,區間就是50。所以開辟中斟酌到各類數據類型的取值規模,特殊是前提斷定及界限取值時。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved