Java循环结构

本文详细介绍了Java中的while、do-while和for循环的基本语法、执行规律以及在实际编程中的应用场景,包括打印试卷、输出数字序列、判断任务合格、计算水仙花数和闰年等实例。
摘要由CSDN通过智能技术生成

while循环 代码练习案例

package Learn;

public class Demo02 {
    /*
     * while循环:
     *   语法结构:
     *       初始值;
     *       while(循环条件){
     *           循环操作代码;
     *           迭代代码;
     *       }
     *   执行规律:
     *       首先执行一次初始值代码
     *       然后判断循环条件,如果条件为true,执行循环操作代码和迭代代码,迭代代码执行完,继续判断循环条件,根据循环条件结果决定是否继续执行{}中的循环操作菜吗
     *           如果循环条件为false,就结束整个while循环,继续往下执行while循环结构之后的代码
     *   注意事项:
     *       迭代代码是改变循环条件的初始值,让循环条件在某个时刻不再满足,从而结束循环操作
     *       while循环是先判断循环条件,再根据循环条件的结果决定是否继续执行循环操作,如果第一次循环条件就不成立,那么循环操作一次都不执行
     *
     * */

    public static void main(String[] args) {
        //实现打印50份试卷

        //初识值
        int i =1;

        while(i<=50){//循环条件
            System.out.println("打印第"+i+"份试卷");//循环操作:重复做的事情就是打印试卷
            i++;//迭代代码:统计打印的份数
        }

        System.out.println("试卷打印完毕");

    }

}

 

package Learn;

public class Demo03 {
    public static void main(String[] args) {

        //使用while循环输出1-100之间所有的整数
        //初始值
        int i =1;
        while(i<=100){//循环条件
            //循环操作:输出整数
            System.out.println(i);
            //迭代
            ++i;
        }

        System.out.println("数据输出完毕");
    }
}
package Learn;

public class Demo04 {
    public static void main(String[] args) {
        //输出1-100之间所有的偶数
        //初始值
        int i =1;
        while(i<=100){//循环条件
            //循环操作:输出数据,在这里,不是什么数都输出,只输出偶数,所以在输出数据之前,要对数据进行判断
            if(i%2==0){//能被2整除的数是偶数
                System.out.println(i);
            }
            i++;
        }
        System.out.println("数据输出完毕");
    }
}
package Learn;

public class Demo05 {
    public static void main(String[] args) {
        //输出1-100之间所有整数之和
        //初始值
        int i =1;
        //声明一个变量sum用来累加i的值
        int sum = 0;

        while(i<=100){//循环条件
            //在这里,不再是输出i的值,而是将i的值累加,需要将累加的结果存储在一个变量中
            sum+=i;//sum=i+sum;
            i++;
        }
        System.out.println("1-100之间所有整数之和:"+sum);
    }
}
package Learn;

public class Demo06 {
    public static void main(String[] args) {
        //求1-100之间所有偶数之和

        //初始值
        int i=1;
        //声明一个变量用来存储累加的数据之和
        int sum =0;
        while(i<=100){//循环条件
            //累加:在这里,不是所有i的值都累加到sum变量中,只有i的值为偶数的时候才累加,所以在累加之前要进行奇偶数判断
            if(i%2==0){
                sum+=i;
            }
            i++;//迭代
        }
        System.out.println("1-100之间所有偶数之和:"+sum);
    }
}
package Learn;
import java.util.Scanner;
public class Demo07 {
    public static void main(String[] args) {
        /*
         * 老师每天检查张浩的学习任务是否合格,如果不合格,则继续进行。
         * 老师给张浩安排的每天的学习任务为:上午阅读教材,学习理论部分,下午上机编程,掌握代码部分*
         * */

        //创建Scanner对象
        Scanner scanner = new Scanner(System.in);

        //初始值
        System.out.println("学习任务是否合格(合格/不合格):");
        String answer =scanner.next();

        while(answer.equals("不合格")){
            //循环操作:只要学习任务不合格,就需要执行下面的循环操作代码
            System.out.println("上午阅读教材,学习理论部分,下午上机编程,掌握代码部分");
            //迭代:检查学习任务是否合格
            System.out.println("学习任务是否合格(合格/不合格):");
            answer =scanner.next();
        }

        System.out.println("继续努力......");
    }
}
package Learn;

public class Demo08 {
    public static void main(String[] args) {
        /*
         * 输出所有的水仙花数
         *   水仙花数:一个三位数,各个位上数字的三次方之和等于这个数本身
         *       例如:153=1^3+5^3+3^3
         *   扩展:
         *       四叶草数:一个四位数,各个位上数字的四次方之和等于这个数本身
         *
         *       十全十美数:一个十位数,各个位上数字的十次方之和等于这个数本身
         * */

        //初始值
        int i = 100;
        //循环条件
        while (i < 1000) {
            //对i的值进行判断:各个位上数字的三次方之和等于这个数本身
            //获取i这个三位数各个位上的数字,借助/和%运算符实现
            int geWei = i % 10;
            int shiWei = i / 10 % 10;
            int baiWei = i / 100;
            //将各个位上的数字进行三次方操作,然后累加到一块
            int sum = geWei * geWei * geWei + shiWei * shiWei * shiWei + baiWei * baiWei * baiWei;
            //判断累加的sum值与i的值是否相等,相等就是水仙花数
            if (sum == i) {
                System.out.println(i);
            }

            //迭代
            i++;
        }
    }
}

do-while循环 代码练习案例

package Learn2;

public class Demo01 {
    /*
     * do-while循环:
     *   语法结构:
     *       初始值;
     *       do{
     *           循环操作代码;
     *           迭代代码;
     *       }while(循环条件);
     *   执行规律:
     *       先执行一次初始值代码
     *       然后执行循环操作代码和迭代代码,接着判断循环条件,如果循环条件为true,继续执行循环操作代码和迭代代码,执行完迭代代码后,判断循环条件,根据循环条件决定是否继续执行下一次循环操作
     *           如果循环条件为false, 则结束整个do-while循环操作,继续往下执行循环结构后面的代码
     *   注意事项:
     *       do-while循环是先执行一次循环操作,再判断循环条件,根据循环条件决定是否继续执行循环操作,所以,如果第一次判断循环条件就不成立,循环操作也会执行一次
     *       所以说:do-while循环循环操作至少会执行一次
     *
     * */

    public static void main(String[] args) {

        //使用do-while循环输出1-100之间所有的整数
        //初识值
        int i =1;

        do{
            //循环操作:输出数字
            System.out.println(i);
            //迭代
            i++;
        }while(i<=100);//循环条件

        System.out.println("数据输出完毕");

    }
}

package Learn2;
import java.util.Scanner;
public class Demo02 {
    public static void main(String[] args) {
        /*
         * 经过几天的学习,老师给张浩一道测试题,让他先上机编写程序完成,然后老师检查是否合格。如果不合格,则继续编写……
         * */

        //创建Scanner对象
        Scanner scanner = new Scanner(System.in);
        //初识值
        String answer ;
        do{
            //循环操作
            System.out.println("上机编写程序.........");
            System.out.println("编写程序是否合格(合格/不合格):");
            //迭代
            answer =scanner.next();
        }while(answer.equals("不合格"));//循环条件

        System.out.println("继续努力....");
    }
}

 

package Learn2;

public class Demo03 {
    public static void main(String[] args) {
        /*
         * 使用do-while循环输出1000-2024年之间所有的闰年,每5个在一行显示
         *   闰年:满足下面条件中的一个,就是闰年
         *       1)能被4整除但是不能被100整除
         *       2)能被400整除
         * */

        //初始值
        int year = 1000;
        //声明一个变量用来统计输出的闰年个数
        int count = 0;

        do{
            //这里要输出的是闰年,所以在输出年份之前要对年份进行闰年判断
            if(year%4==0&&year%100!=0||year%400==0){
                System.out.print(year+" ");
                //输出一个闰年,统计变量+1
                count++;
                //闰年个数每加1,就对count值进行判断,能不能被5整除
                if(count%5==0){
                    //换行
                    System.out.println();
                }
            }
            year++;
        }while(year<=2024);


    }

}

 

package Learn2;


public class Demo04 {
    public static void main(String[] args) {
        //使用while循环和do-while循环在控制台输出“*****”

        System.out.println("*****");

        System.out.println("--------------------------------");

        System.out.print("*");
        System.out.print("*");
        System.out.print("*");
        System.out.print("*");
        System.out.print("*");

        System.out.println("\n--------------------------------");

        //使用while循环输出“*****”
        int i =1;
        while(i<=5){
            System.out.print("*");
            i++;
        }

        System.out.println("\n--------------------------------");

        int j =1;
        do{
            System.out.print("*");
            j++;
        }while(j<=5);
    }

}

 for循环 代码练习案例

package Learn3;

public class Demo01 {
    /*
     * for循环:
     *   语法结构:
     *       for(初始值;循环条件;迭代代码){
     *           循环操作代码;
     *       }
     *   执行规律:
     *       先执行一次初始值代码
     *       然后判断循环条件,如果循环条件为true,执行循环操作代码,循环操作代码执行完执行迭代代码,再判断循环条件,根据循环条件的结果决定是否继续执行循环操作
     *           如果循环条件为false,则结束整个for循环,继续往下执行for循环结构之后的代码
     *   注意事项:
     *       for循环也是先判断循环条件,再根据循环条件决定是否执行循环操作,所以如果第一次循环条件就不成立,那么循环操作一次都不执行
     *
     * */
    public static void main(String[] args) {

        //使用for循环输出100遍“好好学习,天天向上”
        for(int i=1;i<=100;i++){//初始值;循环条件;迭代代码
            System.out.println("第"+i+"遍:好好学习,天天向上");//循环操作
        }

        System.out.println("继续努力.......");

    }

}
package Learn3;
import java.util.Scanner;
public class Demo02 {
    public static void main(String[] args) {
        //创建Scannner对象
        Scanner scanner =new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int num = scanner.nextInt();
        System.out.println("根据这个值可以输出以下加法表:");

        for(int i =0,j=num;i<=num&&j>=0;i++,j--){
            System.out.println(i+"+"+j+"="+num);
        }

    }
}

 

package Learn3;

public class Demo03 {

    public static void main(String[] args) {

        //for循环常见问题1:初始值没有声明就直接使用,程序报错

//        for(;i<10;i++){
//            System.out.println("这是 "+i);
//        }
        //解决办法:声明初始值,初始值声明可以在for循环()中声明,也可以在for循环前面声明
//        int i =1;
//        for(;i<10;i++){
//            System.out.println("这是 "+i);
//        }

//        for(int i =1;i<10;i++){
//            System.out.println("这是 "+i);
//        }

        System.out.println("----------------------------");

        //for循环常见问题2:缺少循环条件,程序进入死循环

//        for(int i=0;;i++){
//            System.out.println("这是 "+i);
//        }

        //解决办法:添加循环条件

//        for(int i=0;i<=100;i++){
//            System.out.println("这是 "+i);
//        }

        System.out.println("----------------------------");

        //for循环常见问题3:缺少迭代代码,程序进入死循环

//        for(int i=0;i<10;){
//            System.out.println("这是 "+i);
//        }

        //解决办法:添加迭代代码,可以在for循环()里添加,也可以在for循环{}中添加

//        for(int i=0;i<10;i++){
//            System.out.println("这是 "+i);
//        }

//        for(int i=0;i<10;){
//            System.out.println("这是 "+i);
//            i++;
//        }

        System.out.println("----------------------------");

        //for循环常见问题4:缺少初始值、循环条件、迭代代码,程序进入死循环,解决办法就是补充相关缺少的内容

//        for(;;){
//            System.out.println("这是测试");

//        for(int i=0;i<10;){
//            System.out.println("这是 "+i);
//            i++;
//        }
//        }
    }
}

 

 

 

 

 

 

 

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值