zoukankan      html  css  js  c++  java
  • 循环结构

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

    二,循环语句分类:

    • 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;

  • 相关阅读:
    2-括号配对问题
    14-会场安排问题
    106-背包问题
    12-喷水装置
    HDU-5170
    HDU-1002
    贪吃蛇
    frame与bounds的区别
    MAC下Android的Eclipse开发环境的搭建
    有些人脸上太多的笑是因为他们心中有太多的泪
  • 原文地址:https://www.cnblogs.com/boogie-xy/p/11297892.html
Copyright © 2011-2022 走看看