Java循环结构

while循环

语法结构:

package struct;

public class WhileDemo01 {
    public static void main(String[] args) {
        //输出1-100
        int i = 0;
        while (i < 100) {
            i++;
            System.out.println(i);
        }
    }
}

while死循环

当不设定结束条件,不写break关键字就可能会出现死循环

package struct;

public class WhileDemo02 {
    public static void main(String[] args) {
        //while死循环
        while (true){
            //等待客户端连接
            //定时检查
            //......
        }
    }
}

while循环计算1-100的和

package struct;

public class WhileDemo03 {
    public static void main(String[] args) {
        //计算1+2+3+4+......+100
        int n = 1;
        int sum = 0;
        while (n <= 100) {
            sum = sum + n;
            n++;
        }
        System.out.println(sum);
    }
}
package com.jian.method;

public class Demo05 {
    public static void main(String[] args) {
        int num = f(5);
        System.out.println(num);
    }

    //阶乘的实现
    //递归:自己调用自己的方法
    public static int f(int i) {
        if (i == 1) {//结束递归的边界条件
            return 1;
        } else {
            return i * f(i - 1);
        }
    }
}

package struct;

public class DoWhileDemo01 {
    public static void main(String[] args) {
        int n = 1;
        int sum = 0;
        do {
            sum = sum + n;
            n++;
        } while (n <= 100);
        System.out.println(sum);

    }
}
  • 相对比while循环,dowhile是先执行后判断,while是先判断后执行,所以dowhile总是保证循环至少会被执行一次
package struct;

public class DoWhileDemo02 {
    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);
    }
}

image

for循环

package struct;

public class ForDemo01 {
    public static void main(String[] args) {
        //100.for+Enter 快捷生成

        for (int i = 0; i < 100; i++) {

        }

        //for死循环
        for (; ; ) {

        }
    }
}

  • 求1-100里的奇数的和和偶数的和

    package struct;
    
    public class ForDemo02 {
        public static void main(String[] args) {
            //计算0-100之间奇数和偶数的和
            int oddsum = 0;//奇数和
            int evensum = 0;//偶数和
            for (int i = 1; i < 100; i = i + 2) {
                oddsum = oddsum + i;
            }
            System.out.println("0-100之间的奇数和为:" + oddsum);
    
            for (int i = 0; i <= 100; i = i + 2) {
                evensum = evensum + i;
            }
            System.out.println("0-100之间的奇数和为:" + evensum);
        }
    }
    
    package struct;
    
    public class ForDemo03 {
        public static void main(String[] args) {
            int oddsum = 0;
            int evensum = 0;
    
            for (int i = 0; i < 100; i++) {
                if (i % 2 != 0) {
                    oddsum = oddsum + i;
                } else {
                    evensum = evensum + i;
                }
            }
            System.out.println("奇数的和为:" + oddsum);
            System.out.println("偶数的和为:" + evensum);
        }
    }
    
    
  • 输出1-1000之间能被5整除的数,并且每行输出3个

package struct;

public class ForDemo04 {
    public static void main(String[] args) {
        //输出1-1000之间能被5整除的数,并且每行输出3个
        int index = 0;

        for (int i = 0; i < 1000; i++) {
            if (i % 5 == 0) {
                index++;
                if (index % 3 == 0)//换行输出
                {
                    System.out.println(i);

                } else//一行输出
                {
                    System.out.print(i+"\t");
                }
            }
        }

    }
}
  • 输出九九乘法表

    package struct;
    
    public class ForDemo05 {
        public static void main(String[] args) {
            //输出九九乘法表
            //i代表行数,j代表列数
            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();
            }
        }
    }
    
    

    结果:

image

增强for循环

package struct;

public class ForDemo06 {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};

        for (int i = 0; i < 5; i++) {
            System.out.println(numbers[i]);
        }

        //遍历数组的元素
        for (int x : numbers) {
            System.out.println(x);
        }
    }
}

break & continue

package struct;

public class BreakDemo01 {
    public static void main(String[] args) {
        int i = 0;
        while (i < 100) {
            i++;
            System.out.println(i);
            if (i == 30) {
                break;//退出循环,不执行剩下的循环语句
            }
        }
        System.out.println("只是跳出了循环");
    }
}
package struct;

public class CountinueDemo01 {
    public static void main(String[] args) {
        int i = 0;
        while (i <= 100) {
            i++;
            if (i % 10 == 0) {
                System.out.println();
                continue;//只是跳出了当i为10的倍数的时候的循环
            }
            System.out.print(i + "\t");
        }
    }
}
posted @ 2022-08-03 13:34  每年桃花开的时候  阅读(38)  评论(0)    收藏  举报