当前位置: 首页 > article >正文

判断和循环 - 循环语句 - for循环格式和练习

什么是循环?

  • 重复地做某件事
  • 具有明确的开始和停止标记

循环的分类:

  • for循环
  • while循环
  • do....while循环

for循环

格式:

for (初始化语句;条件判断语句;条件控制语句) {
	循环语句体;
}
//例
for (int i = 1;i <= 10;i++) {
	SyStem.out.println("HelloWorld");
}

执行流程:

  1. 执行初始化语句。
  2. 执行条件判断语句,看其结果是true还是false,如果是false,循环结束;如果是true,执行循环体语句。
  3. 执行条件控制语句。
  4. 回到2继续执行条件判断语句。请添加图片描述

练习

基础案例1:输出HelloWorld

需求:打印5次HelloWorld

代码实现

public class ForDemo1 {
    public static void main(String[] args) {
        //需求:打印5次HelloWorld

        /*
        for (初始化语句体;条件判断语句;条件控制语句) {
            循环体;
        }
         */

        for (int i = 1; i <= 5; i++) {
            System.out.println("HelloWorld");
        }
    }
}
基础案例2:输出数字

需求:打印1-5

代码实现

//需求1:打印1-5
        for (int i = 1; i <= 5; i++) {
            System.out.println(i);
        }
基础案例3:倒着输出数字

需求:打印5-1

代码实现

//需求2:打印5-1
        for (int j = 5; j >= 1; j--) {
            System.out.println(j);
        }
案例4:断线重连

在实际开发中,需要重复执行的代码,会选择循环实现。

比如:如下图。玩游戏时如果网络不好会经常断线重连。

请添加图片描述

那么断线重连这个业务逻辑就需要重复执行。

假设现在公司要求,断线重连的业务逻辑最多只写5次。

请用代码实现。

备注:断线重连的业务逻辑可以用输出语句替代。

代码实现

/*
在实际开发中,需要重复执行的代码,会选择循环实现。
比如:如下图。玩游戏时如果网络不好会经常断线重连。
那么断线重连这个业务逻辑就需要重复执行。
假设现在公司要求,断线重连的业务逻辑最多只写5次。
请用代码实现。
备注:断线重连的业务逻辑可以用输出语句替代。
 */
public class Test13 {
    public static void main(String[] args) {

        for (int i = 1; i <= 5; i++) {
            System.out.println("断线重连中" + '第' + i +"次执行");
        }
    }
}

案例5:求和

需求:在实际开发中,如果要获取一个范围中的每一个数据时,也会用到循环。

比如:求1-5之间的和。

代码实现

public class Test14 {
    public static void main(String[] args) {
        /*
        需求:在实际开发中,如果要获取一个范围中的每一个数据时,也会用到循环。
        比如:求1-5之间的和。
         */
        int sum = 0;
        for (int i = 1; i <= 5; i++) {
            sum = sum + i;//也可以用sum += i;
        }
        System.out.println(sum);//得到1-5的和

    }
}

注:

  1. 不可以把sum定义在循环的里面,因为变量只在所属的大括号里有效。
  2. 如果我们把变量定义在循环的里面,那么当前变量只能在本次循环中有效,当本次循环结束后,变量就会从内存中消失,第二次循环开始时,又会重新定义一个新的变量。
结论:如果我们要写累加求和的变量。可以把变量定义在循环的外面。
案例6:求和

需求:在实际开发中,如果要获取一个范围中的每一个数据时,会用到循环。

但是此时,大多数情况下,不会获取所有的数据,而是获取其中符合要求的数据。

此时就需要循环和其他语句结合使用。

比如:求1-100之间的偶数和。

IDEA快捷键:100.fori

代码实现

public class Test15 {
    public static void main(String[] args) {
        /*
        需求:在实际开发中,如果要获取一个范围中的每一个数据时,会用到循环。
        但是此时,大多数情况下,不会获取所有的数据,而是获取其中符合要求的数据。
        此时就需要循环和其他语句结合使用。
        比如:求1-100之间的偶数和。
         */

        //分析:
        //1.获取1-100之间的数
        //2.累加求和(先判断再求和)
        int evenNumberSum = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 2 == 0) {
                evenNumberSum += i;
            }
        }
        System.out.println(evenNumberSum);
        
    }
}
案例7:统计满足条件的数字

需求:键盘录入两个数字,表示一个范围。

统计这个范围中既能被3整除,又能被5整除的数字有多少个。

代码实现

import java.util.Scanner;

public class Test16 {
    public static void main(String[] args) {
        /*
        需求:键盘录入两个数字,表示一个范围。
        统计这个范围中既能被3整除,又能被5整除的数字有多少个。
         */

        //分析:
        //1.键盘录入两个数字
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入开始范围");
        int rangeStart = sc.nextInt();
        System.out.println("请输入结束范围");
        int rangeEnd = sc.nextInt();
        //2.用循环获取这个范围中的每一个数字
        int rangeNumber = 0;
        for (int i = 1; i <= rangeEnd; i++) {
            //3.对每个数字进行判断,统计有多少个满足要求的数字。
                if (i % 3 == 0 && i % 5 == 0) {
                    //System.out.println(i);
                    rangeNumber++;
                }
            }

        System.out.println(rangeNumber);
    }
}

http://www.kler.cn/a/227894.html

相关文章:

  • FastExcel使用详解
  • 论文阅读(八):结构方程模型用于研究数量遗传学中的因果表型网络
  • 12.udp
  • 后端token校验流程
  • Java实现.env文件读取敏感数据
  • 【编译原理实验二】——自动机实验:NFA转DFA并最小化
  • EtherCAT转ModbusTCP网关
  • 雨云游戏云VPS服务器用Linux搭建MCSM面板和Minecraft Mohist 1.20.2服务器教程,我的世界MOD和插件服开服教程。
  • 行为型设计模式—访问者模式
  • 自学Java的第十九天
  • 【数据分享】1929-2023年全球站点的逐日最低气温数据(Shp\Excel\免费获取)
  • C# CAD界面-自定义工具栏(三)
  • 树莓派5一键安装C++版本OpenCV
  • 【JavaEE进阶】 图书管理系统开发日记——伍
  • Flink与Redis集成:自定义连接器实现维表创建与数据汇入
  • 牛客网-------------------------长方体
  • Oracle出现超出打开游标最大数的解决方法
  • 中科大计网学习记录笔记(五):协议层次和服务模型
  • Redis的过期键的删除策略
  • Linux权限【超详细】
  • ubuntu22.04 VMware17.5
  • C++ STL库详解:容器适配器stack和queue的结构及功能
  • MySQL 基础
  • 实习记录——第十天
  • Linux下tar命令详解
  • 【日常总结 - java】list 与 字符串(用逗号隔开)相互转换