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

【理解 Java 中的 for 循环】

理解 Java 中的 for 循环

在这里插入图片描述

for 循环是 Java 中用于迭代的常用控制结构,它可以帮助我们重复执行某段代码,直到满足特定条件。本文将介绍 for 循环的基本语法、执行流程、注意事项及一些练习。

基本语法

for 循环的基本语法如下:

for (循环变量初始化; 循环条件; 循环变量迭代) {
    循环操作(可以多条语句);
}

执行顺序

for 循环中,执行顺序如下:

  1. 初始化:设置循环变量的初始值。
  2. 条件判断:判断循环条件是否为 true
  3. 执行循环体:如果条件为 true,执行循环体内的操作。
  4. 变量迭代:执行完循环体后,更新循环变量的值。
  5. 重复:重复步骤 2-4,直到条件为 false
    在这里插入图片描述

示例代码

下面是一个简单的示例,输出 09 的数字:

public class For01 {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            System.out.println("Yhame 在学习java!" + i);
        }
    }
}

执行流程分析

在上述代码中,循环变量 i0 开始,每次循环后自增 1,直到 i 不再小于 10,循环结束。在这里插入图片描述

注意事项和细节说明

  1. 布尔值for 循环条件必须返回一个布尔值。
  2. 初始化和迭代for 循环中的初始化和变量迭代可以在其他地方定义,但分号不能省略。
  3. 多条初始化和迭代:可以在循环中使用多条初始化语句(类型相同),用逗号分隔;迭代也同理。
  4. 内存分析法:在使用 for 循环时,合理分析内存使用可以提高程序性能。

代码示例

以下示例展示了如何在 for 循环外部初始化变量,并使用死循环的方式:

public class ForDetail {
    public static void main(String[] args) {
        int i = 1;  // 循环变量初始化
        for (; i <= 10; ) {
            System.out.println("Hello " + i);
            i++;
        }
        System.out.println("i = " + i);  // 输出 i = 11

        // 补充:无限循环
        // int j = 0;
        // for (;;) {
        //     System.out.println("ok" + (j++));
        // }

        int count = 3;
        for (int i = 0, j = 0; i < count; i++, j += 2) {
            System.out.println("i = " + i + "; j = " + j);
        }
    }
}

在这里插入图片描述


练习题

练习一

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

[化繁为简] [先死后活]

  • 化繁为简 : 即将复杂的需求,拆解成简单的需求, 逐步完成
  • 先死后活 : 先考虑固定的值,然后转成可以灵活变化的值
        // 化繁为简  : 即将复杂的需求,拆解成简单的需求, 逐步完成
		// 先死后活 : 先考虑固定的值,然后转成可以灵活变化的值
		
			//(1) 完成输出 1 - 100 的值
			//(2) 在输出的过程中,进行过滤,只输出9 的倍数 i % 9== 0
			// (3) 统计输出个数 ,定义一个变量 int count = 0; 当条件满足的时 count ++ ;

public class ForExercise {
    public static void main(String[] args) {
        int count = 0;
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 9 == 0) {
                System.out.println("是9的倍数的整数 = " + i);
                count++;
                sum += i;
            }
        }
        System.out.println("一共有 " + count + " 个数");
        System.out.println("总和为 " + sum);
    }
}
       

结果

在这里插入图片描述

改进练习一 (编程思想)

将初始值和结束值 赋值 为变量,增强代码的灵活性:

//(1) 为了适应更好的需求,把范围的开始的值和结束的值,做成 变量
// 	(2) 还可以进一步把 倍数也设置成一个变量  int t = 9;

public class ForExercise {
    public static void main(String[] args) {
        int count = 0;
        int sum = 0;
        int start = 1;
        int end = 100;
        int t = 9;
        for (int i = start; i <= end; i++) {
            if (i % t == 0) {
                System.out.println("符合整数 = " + i);
                count++;
                sum += i;
            }
        }
        System.out.println("一共有 " + count + " 个数");
        System.out.println("总和为 " + sum);
    }
}

练习二

输出 010 的数字及其对应的和为 10 的组合。

    // 先死后活
	//(1)先输出加数 0 - 10
	//(2)后面应该被加数的都是 10 -i

public class ForExercise02 {
    public static void main(String[] args) {
        int n = 10;
        for (int i = 0; i <= n; i++) {
            System.out.println(i + " + " + (n - i) + " = " + n);
        }
    }
}

在这里插入图片描述


结论

for 循环是 Java 编程中的基础和重要组成部分。通过灵活的控制结构,可以轻松实现复杂的逻辑。希望本文能帮助你更好地理解和应用 for 循环。



http://www.kler.cn/news/321678.html

相关文章:

  • 【RabbitMQ 项目】服务端:信道模块
  • Java调用第三方接口、http请求详解,一文学会
  • Sqlserver事务行版本控制指南
  • 面向pymupdf4llm与MinerU 面试题
  • OpenHarmony(鸿蒙南向)——平台驱动指南【HDMI】
  • 倾斜单体化重建异形和异形建筑思路整理
  • 力扣583-两个字符串的删除操作(Java详细题解)
  • Spring Boot的核心技术有哪些?
  • AIGC引领数智未来:企业架构演进的深度解析与实践路径,The Open Group 2024生态系统架构·可持续发展年度大会专题报道
  • 深入理解 CompletableFuture 的底层原理
  • 使用npm link 把一个本地项目变成依赖,引入到另一个项目中
  • xlsx库插件读取excel文件
  • 在使用 Docker 时,用户可能会遇到各种常见的错误和问题
  • 使用python进行自然语言处理的示例
  • jmeter-请求参数加密-MD5加密
  • 美食共享圈:Spring Boot校园周边美食平台
  • uniapp踩坑 tabbar页面数据刷新了但视图没有更新
  • 【1分钟学会】JSON
  • Sentinel-1 数据处理时如何手动下载高程数据
  • 形象解释暂停方法和旁路方法
  • 力扣30. 串联所有单词的子串
  • Linux中的进程替换
  • linux:chown用法详解
  • 微调大模型(Finetuning Large Language Models)—Where finetuning fits in(二)
  • Oracle 相关的工具使用 SQL Developer , sqlplus
  • Kotlin:变量声明,null安全,条件语句,函数,类与对象
  • SpringBoot-全局处理异常,时间格式,跨域,拦截器,监听器
  • Brave编译指南2024 MacOS篇-获取源码(三)
  • 如何解决: Java商城系统开发过程中 开发难度大和时间紧的问题
  • python-rpc-windows服务器C#项目远程调用Linux服务器上的python脚本