JAVA循環結構示例


本文章主要是幫助大家學習循環結構。學習循環時,最重要的是理清思路,那些最經典算法實際中我們並不會單拿出來用,而是會用到當時做這個算法時的思想。如果把這個思路想明白了,那么實際中用到他的時候自然而然就想到了。所以,經典算法也是一定要會的。以下,就是我們常會遇到的算法題。

循環

循環結構有三大類:

for循環:確定循環次數。先判斷,再循環。常用嵌套。

for(參數初始化 ;循環的條件 ;循環變量的疊加  ){

  循環操作;

}

do-while循環:不確定循環次數,但至少要循環一次。先循環,在判斷。最后的分號不可省。

      do{

   循環操作

  } while(循環條件);

while循環:不知道循環次數。先判斷,再循環。常用死循環。用死循環時就要判斷什么時候手動讓他停止,而這個時候就常會定義一個Boolean類型的變量,讓他初始值為true,到循環該結束時,讓他的值為false。

      while(循環條件){

    循環操作;

  }

for循環代碼示例:

1. 打印出所有的 "水仙花數 ",所謂 "水仙花數 "是指一個三位數,其各位數字立方和等於該數本身。

    例如:153是一個 "水仙花數 ",因為153=1的三次方+5的三次方+3的三次方。

1  for(int i=100;i<1000;i++){ 2        int ge=i%10;   //求出個位數
3        int shi=i/10%10;   //求出十位數
4        int bai=i/100;   //求出百位數
5        if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){ 6               System.out,println("水仙花數有:"+i); 7  } 8   }

 

 

2. 計算5的階乘 5!的結果以及它們的和

1 int n=1; 2 int sum=0; 3 for(int i=1;i<=5;i++){ 4         n=n*i; //1*2*3*4*5 5         sum+=n; 6 } 7 System.out.println("5!="+n+"\t"+"和為:"+sum);

 

for循環嵌套

1. 100以內所有素數

 1 for(int i=2;i<100;i++){  2       for(int j=2;j<i;j++){  //不需要從1開始,任何數都能被1整除
 3              if(i%j==0){    //判斷能不能被其他數整除
 4                 break;  5  }  6  }  7       if(i==j){  8            System.out.println("i");  9  } 10 }    

 

 

2. 公雞5文,母雞3文,小雞1文3只,花100元買100只雞。怎么買?(百文買百雞)

1 for(int i=0;i<20;i++){   //公雞最多買20只
2     for(int j=0;j<33;j++){   //母雞最多買33只
3          for(int k=0;k<100;k+=3){   //小雞最多買100只
4              if(5*i+3*j+(k/3)*1==100&&i+j+k==100){ 5                  System.out.println("公雞"+i+" "+"母雞"+j+" "+"小雞"+k+" "); 6  } 7  } 8  } 9 }

 

 

while循環代碼示例:

1 double i=0.08;   //初始值0.08
2 int count=0;    //計數器
3 while(i<8848130){ 4       i*=2; 5       count++; 6  } 7 System.out.println(count);

 

在循環中常會用到的還有三種跳出循環的語句:

break:結束本次循環,繼續執行循環后面的語句。跳到外層循環。

continue:跳過本次循環,剩余的語句繼續,繼續執行下一次。

      注意:用在while循環里容易出現死循環。要將更新變量語句i++放在continue上面。

return:直接結束當前main方法,遇到return后,方法中的所有代碼將不再執行。

    注意:程序中要減少return的使用頻率。一旦使用return,整個main方法結束。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM