JAVA基础循环(for、while、do-while)

一.循环结构:

1.什么是循环结构:

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

二.循环语句分类:

2.1  - for循环
2.2  - while循环
2.3  - do-while循环

三.循环语句的四个组成部分:


 - 1.初始化部分(int_statement)
  
 - 2.循环条件部分(test_exp) ----->注意是boolean类型

 - 3.循环体部分(body_statement)

 - 4.迭代部分(alter_statement)

四. For循环结构的使用

1.For循环结构(这里的数字是:循环语句的四个组成部分的数字编号)
 for(1;2;4;){
    3;
 }
 执行过程:1-->2-->3-->4-->2-->3-->4

五.While循环的使用

while循环结构(这里的数字是:循环语句的四个组成部分的数字编号)

  1
 while(2){
   3;
   4;
 }
 执行过程:1-->2-->3-->4-->2-->3-->4-->2

注意说明:
 1.while循环千万小心不要丢了迭代条件,一旦丢了,就可能导致死循环。
 2.我们写程序,要避免出现死循环。
 3.for循环和while循环是可以相互转化的!
 !!!区别:for循环和while循环的初始化条件部分的作用范围不同。!!!

六.do-while循环的使用:

do-while(这里的数字是:循环语句的四个组成部分的数字编号)

 1
 do{
   3;
   4;
  }while(2);

 执行过程:1-->3-->4-->2-->3-->4-->2-->3 ...--->2
 
 注意说明:
 1.do-while循环至少会执行一次循环体
 2.开发中,使用forwhile更多一些,do-while较少。

七.练习题

for循环

 /**
     * 例题:
     * 1.遍历100以内的偶数,并输出所有偶数的和.输出偶数的个数.
     * 2.遍历100以内的奇数,并输出所有奇数的和.
     * 3.编写程序从1循环到50,并在每一行打印一个值,另外在每个3的倍数行上打印出"foo",在每个5行的倍数行上打印"biz",在每个7的倍数行上打印输出"baz".
     * 4.打印1~100之间所有是7的倍数的整数的个数及总和(体会计算器的思想)。
     * 5.输入两个整数m和n,求其最大公约数和最小公倍数。比如:12和20的最大公约数是4,最小公倍数是60.说明:break关键字的使用。
     * 6.输出所有水仙花数,所谓水仙花数是指一个三位数,其各个位上数字立方和等于其本身。例如:153=1*1*1+5*5*5+3*3*3
     */


 //例题1:
    public void first() {
        //定义变量sum,来记录所有的偶数.
        int sum = 0;
        //定义变量count,来记录偶数的个数.
        int count = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 2 == 0) {
                System.out.println(i);
                sum += i;
                count++;
            }
        }
        System.out.println("偶数和为:" + sum);
        System.out.println("偶数总个数为:" + count);
    }

    //例题2:
    public void tow() {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 2 != 0) {
                System.out.println(i);
                sum += i;
            }
        }
        System.out.println("奇数之和为:" + sum);
    }

    //例题3:
    public void three() {
        for (int i = 1; i <= 150; i++) {
            System.out.print(i + " ");
            if (i % 3 == 0) {
                System.out.print("foo");
            }
            if (i % 5 == 0) {
                System.out.print("biz");
            }
            if (i % 7 == 0) {
                System.out.print("baz");
            }
            //要加换行
            System.out.println();
        }
    }

    //例题4:
    public void four() {
        int count = 0;
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 7 == 0) {
                sum += i;
                count++;
                System.out.println(i);
            }

        }
        System.out.println("7的倍数的个数:" + count);
        System.out.println("7的倍数的总和:" + sum);
    }

    //例题5:
    public void fives() {
        System.out.println("请输入第一个整数:");
        Integer m = scanner.nextInt();
        System.out.println("请输入第二个整数:");
        Integer n = scanner.nextInt();

        //获得最大公约数
        //1.获取两个数中的较小值
        int min = (m <= n) ? m : n;
        //遍历
        for (int i = min; i >= 1; i--) {
            if (m % i == 0 && n % i == 0) {
                System.out.println("最大公约数" + i);
                break;//一旦在循环中执行到break;跳出循环。
            }
        }
        //获取最小公倍数
        //1.获取两个数的最大值
        int max = (m >= n) ? m : n;//需要强化部分;
        //遍历
        for (int i = max; i <= m*n; i++) {
            if (i % m == 0 && i % n == 0) {
                System.out.println("最小公倍数" + i);
                break;
            }
        }
    }

    //例题6:
    public void six() {
        int count = 0;

        for (int i = 100; i < 1000; i++) {
            //这里还需要加强,
            //获得百位上的数字
            int hundreds = i / 100;
            //获得十位上的数字
            int ten = i % 100 / 10;
            //获得个位上的数字
            int onesplace = i % 10;
            if (hundreds * hundreds * hundreds + ten * ten * ten + onesplace * onesplace * onesplace == i) {
                count++;
                System.out.println("水仙花数:" + i);
            }
        }
        System.out.println("一共有" + count + "个水仙花数");
    }

while循环

 public static void main(String[] args) {
        //遍历100以内的偶数;
        int i = 1;
        while (i <= 100) {
            if (i % 2 == 0) {
                System.out.println(i);
            }
            i++;
        }
        //出来循环后还可以调用i
        System.out.println();
    }

do-while循环

//遍历100以内的偶数,并计算所有偶数的和,还有个数。
    public static void main(String[] args) {
        int sum=0;
        int count=0;

        int i = 1;
        do {
            if (i % 2 == 0) {
                System.out.println(i);
                count++;
                sum+=i;
            }
            i++;
        } while (i <= 100);
        System.out.println("总个数:"+count);
        System.out.println("总和为:"+sum);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值