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方法结束。