循环结构基本了解

循环结构

while 循环

  1. 只要布尔表达式为true,循环就会一直执行
  2. 我们大多数情况是会让循环停止,所以需要一个让表达式失效的方式来结束循环
  3. 少部分情况是需要循环一直执行,比如服务器的请求响应监听等
  4. 循环条件一直为true就会造成无限循环(死循环),我们正常的业务编程中尽量避免死循环,因为这会影响程序性能或者造成程序卡死奔溃
  5. 思考:计算1+2+3+.....+99+100=?
package com.Structure;

public class While2 {
    public static void main(String[] args) {
        //计算1+2+3+...+99+100=?
        int i = 0;
        int sum = 0;
        while(i<100){
            i++;
            sum+=i;
        }
        /**也可以写成这样
         * while(i<=100){
         * sum+=i;
         * i++;
         */
        System.out.println(sum);
    }
}

do....while 循环

  1. while先判断后执行,dowhile是先执行后判断!
  2. do....while保证循环体至少被执行一次,这是两个循环的主要区别
 do{
 执行语句
 }while(布尔表达式);
 /
package com.Structure;

public class DoWhile1 {
    public static void main(String[] args) {
        //计算1+2+3+...+99+100=?
        int i = 0;
        int sum = 0;
        do{
            sum+=i;
            i++;
        }while(i<=100);
        System.out.println(sum);
    }
}

区别

package com.Structure;

public class DoWhile2 {
    public static void main(String[] args) {
        int a = 0;
        while(a<0){
            System.out.println(a);
            a++;
        }
        System.out.println("----------------");
        do{
            System.out.println(a);
            a++;
        }while(a<0);
    }
}

输出:循环结构基本了解

说明while循环体就没有进入,直接在dowhile里面执行了一次。

for 循环(最重要的)

  1. 虽然所有循环结构都可以用while还有dowhile表示,但是Java提供了另一种语句——for循环,使一些循环结构变得更加简单
  2. for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构
  3. for循环执行的次数事再执行前就确定的。
for(初始化;布尔表达式;更新){
代码语句
}

1.计算0-100之间的奇数和偶数的和

package com.Structure;

public class For2 {
    public static void main(String[] args) {
        //计算0-100之间的奇数和偶数的和
        int oddsum = 0;
        int evensum = 0;
        for (int i = 0; i <=100; i++) {
            if (i%2!=0){//奇数
                oddsum+=i;
        }else{
                evensum+=i;
            }
        }
        System.out.println("奇数的和:"+oddsum);
        System.out.println("偶数的和:"+evensum);



    }
}

2.用while或者for循环输出1-1000之间能被5整除的数,并且每行输出三个

package com.Structure;

import jdk.swing.interop.SwingInterOpUtils;

public class For3 {
    public static void main(String[] args) {
        //用while或者for循环输出1-1000之间能被5整除的数,并且每行输出三个
        for (int i = 0; i <= 1000; i++) {
            if (i%5==0){
                System.out.print(i+"\t");
            }
            if(i%(5*3)==0){
                System.out.print("\n");
                //System.out.println();
            }
        }
        //println 输出完会换行
        //print   输出完不换行
    }
}

3.打印九九乘法表

package com.Structure;

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

            }
            System.out.println();
        }
    }
}

增强for循环

//for(声明语句:表达式)
//{
//代码句子
//}
package com.Structure;

public class For5 {
    public static void main(String[] args) {
        int[] numbers = {10,20,30,40,50};//定义了一个数组
        for (int i = 0; i < 5; i++) {
            System.out.print(numbers[i]+"\t");
        }
        System.out.println();
        System.out.println("==================");
        //遍历数组的元素
        for(int x:numbers){
            System.out.print(x+"\t");

        }
    }
}

输出:循环结构基本了解

上一篇:Golang基础——异常处理


下一篇:windows平台的分布式微服务解决方案(4)--数据库的读写分离