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+"	"+"和为:"+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方法结束。

原文地址:https://www.cnblogs.com/yanglianwei/p/8643518.html