循环结构

循环结构分两大类,一类是当型,一类是直到型。

 当型:

      当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for循环。

 直到型:

      先执行某语句, 再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,比如do-while循环。

一、while循环

语法结构:

while (布尔表达式) {
    循环体;
}

      在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。

      语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。

      while循环结构流程图如图所示。

【示例】求1到100之间的累加和

int i=100;
        int sum=0;
        while(i>0){
            sum+=i;
            i--;
        }
        System.out.println(sum);

【运行结果】 

 

 

【示例】用while循环分别计算100以内的奇数及偶数的和,并输出。

        int i=1;
        int sum1=0;
        int sum2=0;
        while(i<=100){
            if(i%2==0){
                sum1+=i;
                i++;
            }else{
                sum2+=i;
                i++;
            }
        }
        System.out.println("100以内的奇数和为:"+sum2);
        System.out.println("100以内的偶数和为:"+sum1);

【运行结果】

 

【示例】用while循环或其他循环输出1-1000之间能被5整除的数,且每行输出5个

int i=0;
        int count=0;
        while(i<=1000){
            if(i%5==0){
                System.out.print(i+"\t");
                count++;
            }
            if(count==5){
                System.out.println();
                count=0;
            }
            i++;
        }

 

【运行结果】

 

 

 

 

 

 

 

 

 

 

 

二、do while循环

语法结构

do {
        循环体;
     } while(布尔表达式) ;

         do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。do-while循环结构流程图如图所示。

【示例】do-while循环结构:1-100之间的累加和

 public static void main(String[] args) {

        int i = 100;
        int sum = 0;
        do {
            sum += i;
            i--;
        } while (i > 0);
        System.out.println(sum);
    }

 【运行结果】 

 

三、for循环

语法结构

for (初始表达式; 布尔表达式; 迭代因子) {
      循环体;
}

       for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。

      A. 初始化部分设置循环变量的初值

      B. 条件判断部分为任意布尔表达式

      C. 迭代因子控制循环变量的增减

      for循环在执行条件判定后,先执行的循环体部分,再执行步进。

      for循环结构的流程图如图所示。

【示例】

public static void main(String[] args) {
        int sum=0;
        for(int i=1;i<=100;i++){
            sum+=i;
        }
        System.out.println(sum);

        for(int i=1;i<=9;i++){
            System.out.print(i+"\t");
        }
        System.out.println();
        System.out.println("************************");
        for(int i=1;i<=99;i+=3){
            System.out.print(i+"\t");
        }

【运行结果】

 

 

【示例】使用嵌套循环实现九九乘法表

public static void main(String[] args) {
        int k;
        for(int i=1;i<=9;i++){
            for(int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+i*j+"\t");

            }
            System.out.println();
        }
    }

【运行结果】


版权声明:本文为weixin_43916863原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。