【JavaSE】- 程序控制结构(中)

1.1🍑for循环

  1. for 关键字,表示循环控制
  2. for 有四要素: (1)循环变量初始化(2)循环条件(3)循环操作(4)循环变量迭代
  3. 循环操作 , 这里可以有多条语句,也就是我们要循环执行的代码
  4. 如果 循环操作(语句) 只有一条语句,可以省略 {}, 建议不要省略

在这里插入图片描述
for循环流程图
在这里插入图片描述
代码实现

public class For01 {
    public static void main(String[] args) {
        int i = 0;
        for(i = 1 ; i<=10 ; i++){
            System.out.println("Hello World");
        }
    }
}

输出结果
在这里插入图片描述

1.2🍖for循环细节

  1. 循环条件是返回一个布尔值的表达式
  2. for(;循环判断条件;) 中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。
  3. 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代
    语句,中间用逗号隔开。

代码实现

public class ForDetail {
    public static void main(String[] args) {
//        1) 循环条件是返回一个布尔值的表达式

        //2) for(;循环判断条件;) 中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。
        // 这种写法也是可以的
        int i = 1;
        for (; i<=10 ; ){
            System.out.println("Hello"+i);
            i++;
        }
        System.out.println("i = "+i);


        // for的无限循环
//        for (;;)
//        {
//            System.out.println("loop...");
//        }

        //3)循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,
        //循环变量迭代也可以有多条变量迭代
        //语句,中间用逗号隔开。
        int count = 3;
        for (int a = 0 , j = 0 ; a < count ; a++,j+=2){
            System.out.println("a = "+a+" j = "+j); // 0,0 | 1,2 | 2,4 |
        }
    }
}

运行结果
在这里插入图片描述

1.3🥗for循环练习

练习题

打印 1~100 之间所有是 9 的倍数的整数,统计个数 及 总和

public class ForExercise {
    public static void main(String[] args) {
        //打印 1~100 之间所有是 9 的倍数的整数,统计个数 及 总和.[化繁为简,先死后活]
        //1. 化繁为简 : 即将复杂的需求,拆解成简单的需求,逐步完成 编程 = 思想 --练习-> 代码
        //2. 先死后活 : 先考虑固定的值,然后转成可以灵活变化的值
        //
        //思路分析
        //打印 1~100 之间所有是 9 的倍数的整数,统计个数 及 总和
        //化繁为简

        //(1) 完成 输出 1-100 的值
        //(2) 在输出的过程中,进行过滤,只输出 9 的倍数 i % 9 ==0
        //(3) 统计个数 定义一个变量 int count = 0; 当 条件满足时 count++;
        //(4) 总和 , 定义一个变量 int sum = 0; 当条件满足时累积 sum += i;
        //先死后活
        //(1) 为了适应更好的需求,把范围的开始的值和结束的值,做出变量
        //(2) 还可以更进一步 9 倍数也做成变量 int
        int i = 0;
        for (i = 9 ; i<=100 ; i+=9){
            System.out.println("i = "+i);
        }

        System.out.print("\n");
//        int j = 0;
//        int count = 0;
//        for (j = 1 ; j<=100 ; j++){
//            if (j%9==0){
//                count++;
//                System.out.println("j = "+j);
//            }
//        }
//        System.out.println("count = "+count);

        // 从静态转换成动态的写法,推荐!!!
        int j = 0;
        int count = 0; // 计算个数
        int start = 1; // 起始位置
        int end = 100; // 结束位置
        int t = 9;     // 倍数
        for (j = start ; j<=end ; j++){
            if (j%t==0){
                count++;
                System.out.println("j = "+j);
            }
        }
        System.out.println("count = "+count);
    }
}

运行结果
在这里插入图片描述
练习题
在这里插入图片描述
代码实现

public class ForExercise02 {
    public static void main(String[] args) {
        // 输出以下表达式
        // 0 + 5 = 5
        // 1 + 4 = 5
        // 2 + 3 = 5
        // 3 + 2 = 5
        // 4 + 1 = 5
        // 5 + 0 = 5

        int i = 0;
        int j = 0;
        int s = 0;
        for (i = 0, j = 5 ; i<=5 ; i++,j--){
            s = i+j;
            System.out.println(i+" + "+j+" = "+s);
        }
		
		int n = 5;
        for (int x = 0 ; x<=n ;x++ ){
            System.out.println(x+" + "+(n-x)+" = "+n);
        }
    }
}

运行结果
在这里插入图片描述

2.1🍒while循环

在这里插入图片描述
在这里插入图片描述
代码实现

public class While01 {
    public static void main(String[] args) {
        int i = 1;
        while(i<=10){
            System.out.println("HelloWorld");
            i++;
        }
        System.out.println(i);
        System.out.println("while循环结束...");
    }
}

运行结果
在这里插入图片描述

2.2🍑while循环细节

  1. 循环条件是返回一个布尔值的表达式
  2. while 循环是先判断再执行语句

2.3🥮while循环练习题

public class WhileExercise {
    public static void main(String[] args) {
//        1) 打印 1—100 之间所有能被 3 整除的数 [使用 while]

        int i = 1;
        int count = 0;
        while(i<=100){
            if (i%3==0){
                count++;
                System.out.println(i);
            }
            i++;
        }
        System.out.println("count = "+count);

        System.out.println();
        // 2) 打印 40—200 之间所有的偶数 [使用 while, 课后练习]代码
        int n = 40;
        int s = 0;
        while(n<=200){
            if (n%2==0){
                s++;
                System.out.println(n);
            }
            n++;
        }
        System.out.println("s = "+s);

    }
}

输出结果
在这里插入图片描述
在这里插入图片描述

3.1🧁do_while循环

循环变量初始化;
do{
循环体(语句);
循环变量迭代;
}while(循环条件);

  1. do while 是关键字
  2. 也有循环四要素, 只是位置不一样
  3. 先执行,再判断,也就是说,一定会至少执行一次
  4. 最后 有一个 分号 ;

在这里插入图片描述

3.2🍄do_while循环细节

  1. 循环条件是返回一个布尔值的表达式
  2. do…while 循环是先执行,再判断, 因此它至少执行一次
public class DoWhile01 {
    public static void main(String[] args) {
        int i = 1;
        do{
            System.out.println("Hello"+i);
            i++;
        }while (i<=10);
        System.out.println("退出了,do...while语句");
    }
}

在这里插入图片描述

3.3🌭do_while循环练习题

练习题

  1. 打印 1—100 [学生做]
  2. 计算 1—100 的和 [学生做]
 int i = 1;
 int s = 0;
 do{
     s+=i;
     System.out.print(i+" ");
     i++;
 }while (i<=100);
 System.out.println();
 System.out.println("s = "+s);

运行结果
在这里插入图片描述
练习题

int j = 1;
int count = 0;
do{
    if (j%5==0 && j%3!=0){
        count++;
    }
    j++;
}while(j<=200);
System.out.println("count = "+count);

运行结果: count = 27

练习题

如果李三不还钱,则老韩将一直使出五连鞭,直到李三说还钱为止

代码实现

import java.util.Scanner;
public class DoWhileExercise02 {
    public static void main(String[] args) {
        // 如果李三不还钱,则老韩将一直使出五连鞭,直到李三说还钱为止
        char answer = ' ';
        Scanner scanner = new Scanner(System.in);

        do{
            System.out.println("还钱吗?<y|n>");
            answer = scanner.next().charAt(0);
            System.out.println("他的回答是"+answer);
        }while(answer != 'y');
    }
}

运行结果
在这里插入图片描述
未完待续…

在这里插入图片描述

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值