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