循环结构

一,在某些条件满足的情况下,反复执行特定代码的功能。

二,循环语句分类:

  • for循环
  • while循环
  • do-while循环

三,循环语句的四个组成部分:①初始化部分;②循环条件部分(布尔类型);③循环体部分,④迭代部分;

四,for循环的结构及其练习:

for(①;②;④){

③}

执行过程:①---②---③---④---②---③---...---②

 1  1 import java.util.Scanner;
 2 
 3 /*
 4  输入两个整数M和N,求其最大公约数和最小公倍数;
 5  break的练习;
 6  */
 7 public class BreakTest {
 8     public static void main(String args[]) {
 9         Scanner scan =new Scanner(System.in);
10         System.out.println("请输入M的值:");
11         int m=scan.nextInt();
12         System.out.println("请输入N的值:");
13         int n=scan.nextInt();
14         
15         
16         //求最大公约数
17         //获取两个值中的最小值
18         int min=(m<=n)?m:n;
19         for(int i=min;i>=1;i--) {
20         if(m%i==0 && n%i==0){
21             System.out.println(m+"和"+n+"的最大公约数为"+i);
22             break;}
23         }
24         //求最小公倍数
25         //获取两个数中的最大值
26         int max=(m>=n)?m:n;
27         for(int i=max;i<m*n;i++) {
28             if(i%m==0&&i%n==0) {
29                 System.out.println(m+"和"+n+"的最小公倍数为"+i);
30                 break;
31                 
32             }
33             
34         }
35         }
36 
37 }

公倍数一定大于两数中较大的值,小于两数之积,因为求的是最小公倍数,所以从小到大设范围(i++),执行中,第一个满足要求的i即为最小公倍数,用break截断;

公约数一定大于等于1,小于等于两数中最小的数,因为求的是最大公约数,所以从大到小设范围(i--),执行中,第一个满足要求的i即为最大公约数,break;

 五,while循环的结构

while(②){

③;

④;

}

执行过程:①---②---③---④---②---③---...---②

说明:注意别忘记写④迭代条件,一旦丢了,会导致出现死循环的问题;

for循环和while循环是可以相互转换的。

唯一的小区别是:初始化条件部分作用范围不同。出了for就不能再调用,但出了while还可以调用。

六,do-while循环结构

do{

③;

④;

}while(②)

执行过程:①---③---④---②---③----④......---②

七,三种循环实现 :输出100以内的偶数,及其偶数的总和与个数;

 1 //遍历100以内的偶数,并计算所有偶数的和及偶数的个数
 2 //for循环
 3 public class BreakTest {
 4       public static void main(String args[]) {
 5           int sum=0,num=0;
 6            for(int i=1;i<=100;i++) {
 7                if(i%2==0) {
 8               System.out.println(i); 
 9               sum+=i;
10               num+=1;
11              
12            }
13                
14            }
15 
16            System.out.println("偶数的和为:"+sum);
17             System.out.println("偶数的个数为:"+num);
18       }
19       
20 }
21 //while循环
22 public class BreakTest {
23     public static void main(String args[]) {
24         int sum=0,num=0;int i=1;
25          while(i<=100) {
26              if(i%2==0) {
27             System.out.println(i); 
28             sum+=i;
29             num+=1;
30            
31          }
32            i++;
33          }
34 
35          System.out.println("偶数的和为:"+sum);
36           System.out.println("偶数的个数为:"+num);
37     }
38     
39 }
40 //do-while循环
41 public class BreakTest {
42   public static void main(String args[]) {
43       int sum=0;//记录总和
44       int num=0;//记录个数
45       int i=1;
46    do {
47         if(i%2==0) {
48        System.out.println(i); 
49        sum+=i;
50        num+=1;
51       }
52       i++;
53    }while(i<=100);
54 
55     System.out.println("偶数的和为:"+sum);
56       System.out.println("偶数的个数为:"+num);
57 }
58 
59   }
60   

 不在循环条件部分限制次数的结构(有时不确定循环次数):for(;;)或while(true)

结束循环有几种方式:①循环条件部分返回false;

②在循环体中,执行break;

 

posted @ 2019-08-04 12:54  Boogiever  阅读(254)  评论(0编辑  收藏  举报