广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java for循环详解
  • 114
分享到

Java for循环详解

javajvm开发语言 2023-09-04 18:09:07 114人浏览 八月长安
摘要

一套完整的嵌入式开发学习路线(高薪就业版),知识全面,思路清晰,猛击这里免费领取! for 语句是应用最广泛、功能最强的一种循环语句。大部分情况下,for 循环可以代替 while 循环、do while 循环。 for 语句是一种在程序

一套完整的嵌入式开发学习路线(高薪就业版),知识全面,思路清晰,猛击这里免费领取!

for 语句是应用最广泛、功能最强的一种循环语句。大部分情况下,for 循环可以代替 while 循环、do while 循环。

for 语句是一种在程序执行前就要先判断条件表达式是否为真的循环语句。假如条件表达式的结果为假,那么它的循环语句根本不会执行。for 语句通常使用在知道循环次数的循环中。

for 语句语法格式如下所示。

for(条件表达式1;条件表达式2;条件表达式3) {    语句块;}

for 循环中 3 个条件表达式的含义如表 1 所示。

表 1 for 循环中 3 个表达式的含义
表达式形式功能举例
条件表达式 1赋值语句循环结构的初始部分,为循环变量赋初值int i=1
条件表达式 2条件语句循环结构的循环条件i>40
条件表达式 3迭代语句,通常使用
++ 或 -- 运算符
循环结构的迭代部分,通常用来修改循环
变量的值
i++


for 关键字后面括号中的 3 个条件表达式必须用“;”隔开。for 循环中的这 3 部分以及大括号中使循环体必需的 4 个组成部分完美地结合在一起,简单明了。

for 循环语句执行的过程为:首先执行条件表达式 1 进行初始化,然后判断条件表达式 2 的值是否为 true,如果为 true,则执行循环体语句块;否则直接退出循环。最后执行表达式 3,改变循环变量的值,至此完成一次循环。接下来进行下一次循环,直到条件表达式 2 的值为 false,才结束循环,其运行流程如图 1 所示。
 



图 1  for循环执行流程图


值得指出的是,for 循环的循环迭代语句并没有与循环体放在一起,因此即使在执行循环体时遇到 continue 语句结束本次循环,循环迭代语句也一样会得到执行。

for 循环和 while、do while 循环不一样:由于 while、do while 循环的循环迭代语句紧跟着循环体,因此如果循环体不能完全执行,如使用 continue 语句来结束本次循环,则循环迭代语句不会被执行。但 for 循环的循环迭代语句并没有与循环体放在一起,因此不管是否使用 continue 语句来结束本次循环,循环迭代语句一样会获得执行。

与前面循环类似的是,如果循环体只有一行语句,那么循环体的大括号可以省略。

例如,同样是计算 5 的阶乘,使用 for 循环的实现代码如下:

  1. public static void main(String[] args) {
  2. int result = 1;
  3. for (int number = 1; number <= 5; number++) {
  4. result *= number;
  5. }
  6. System.out.print("5 的阶乘结果是:" + result); // 输出"5的阶乘结果是:120"
  7. }

上述语句的含义可以理解为,将 number 变量的值从 1 开始,每次递增 1,直到大于 5 时终止循环。在循环过程中,将 number 的值与当前 result 的值进行相乘。

for 语句中初始化、循环条件以及迭代部分都可以为空语句(但分号不能省略),三者均为空的时候,相当于一个无限循环。下面对这些情况依次进行介绍。

1.条件表达式 1 为空

for 语句中条件表达式 1 的作用可以在程序的其他位置给出,所以当条件表达式 1 为空时,for 语句后面括号内其他条件表达式执行的顺序不变。

例如,使用 for 语句的这种形式计算 1~100 所有奇数的和。

  1. public static void main(String[] args) {
  2. int result = 0;
  3. int number = 1; // 相当于for语句的第1个表达式
  4. for (; number < 101; number++) {
  5. if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加
  6. result += number;
  7. }
  8. System.out.print("100 以内所有奇数和为:" + result);
  9. }

执行后的输出结果如下:

100 以内所有奇数和为:2500

2.条件表达式 2 为空

当 for 语句中条件表达式 2 为空时,将没有循环的终止条件。此时 for 语句会认为条件表达式 2 的值总是为真,循环无限制执行下去。因此,为了使循环达到某种条件时退出,需要在语句块中进行逻辑判断,并使用 break 语句来跳出循环,否则将产生死循环。

同样是计算 1~100 所有奇数的和,使用这种方式的代码如下。

  1. public static void main(String[] args) {
  2. int result = 0;
  3. for (int number = 1;; number++) {
  4. if (number > 100)
  5. break; // 相当于for语句的表达式2,满足时就退出for循环
  6. if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加
  7. result += number;
  8. }
  9. System.out.print("100 以内所有奇数和为:" + result);
  10. }

3.条件表达式 3 为空

当 for 语言中条件表达式 3 为空时,也就没有设置控制变量的表达式,即每次循环之后无法改变变量的值,此时也无法保证循环正常结束。

同样是计算1~100 所有奇数的和,使用这种方式的代码如下:

  1. public static void main(String[] args) {
  2. int result = 0;
  3. for (int number = 1; number < 101;) {
  4. if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加
  5. result += number;
  6. number++; // 相当于for语句的条件表达式3,每次递增1
  7. }
  8. System.out.print("100 以内所有奇数和为:" + result);
  9. }

如果没有循环体语句,number 变量的值为 1,永远小于 101,因此将无法结束循环,形成无限循环。在上面代码中将 number 的递增语句放在 for 循环体内,效果与完整 for 语句功能相同。

4.3 个条件表达式都为空

在 for 循环语句中,无论缺少哪部分条件表达式,都可以在程序的其他位置补充,从而保持 for 循环语句的完整性,使循环正常进行。

当 for 语句中循环体全为空时,即没有循环初值,不判断循环条件,循环变量不增值,此时无条件执行循环体,形成无限循环或者死循环。对于这种情况,读者在使用时应该尽量避免。

例如,计算 1~100 所有奇数的和,使用这种方式的代码如下: 

  1. public static void main(String[] args) {
  2. int result = 0;
  3. int number = 1; // 相当于for语句的条件表达式1
  4. for (;;) {
  5. if (number > 100)
  6. break; // 相当于for语句的条件表达式2
  7. if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加
  8. result += number;
  9. number++; // 相当于for语句的条件表达式3
  10. }
  11. System.out.print("100 以内所有奇数和为: " + result);
  12. }

例 1

编写一个 Java 程序,统计某超市上半年的总销售量,要求由用户输入每月的销量。使用 for 循环的实现代码如下。

  1. public static void main(String[] args) {
  2. int sum = 0;
  3. int num = 0;
  4. Scanner sc = new Scanner(System.in);
  5. for (int i = 1; i <= 6; i++) {
  6. System.out.println("请输入第" + i + " 个月的销售数量:");
  7. num = sc.nextInt();
  8. sum += num;
  9. }
  10. System.out.println("上半年的销售总量为:" + sum);
  11. }

在该程序中, 声明循环变量 i,控制循环的次数,它被初始化为 1。每执行一次循环,都要对 i 进行判断,看其值是否小于等于 6,条件成立则继续累加成绩,否则退出循环。

每执行完一次循环体,都会对 i 累加 1。如此循环重复,直到 i 的值大于 6 时停止循环。此时退出 for 循环体,执行最下方的语句输出累加的销售总量。

运行程序,执行结果如下所示。

请输入第1 个月的销售数量:6840请输入第2 个月的销售数量:5449请输入第3 个月的销售数量:6546请输入第4 个月的销售数量:2400请输入第5 个月的销售数量:908请输入第6 个月的销售数量:8048上半年的销售总量为:30191

一般选择循环变量时,习惯选择 i、j、k 来作为循环变量。

来源地址:https://blog.csdn.net/Dagssb/article/details/130108698

--结束END--

本文标题: Java for循环详解

本文链接: https://www.lsjlt.com/news/394084.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java for循环详解
    一套完整的嵌入式开发学习路线(高薪就业版),知识全面,思路清晰,猛击这里免费领取! for 语句是应用最广泛、功能最强的一种循环语句。大部分情况下,for 循环可以代替 while 循环、do while 循环。 for 语句是一种在程序...
    99+
    2023-09-04
    java jvm 开发语言
  • JavaScript中的for循环与双重for循环详解
    for循环 for循环就是对数组的元素进行循环。 语法: for (初始化变量; 条件表达式; 迭代语句) {      需要执行的代码块...
    99+
    2022-11-11
  • 详解Java中的增强 for 循环 foreach
    foreach 是 Java 中的一种语法糖,几乎每一种语言都有一些这样的语法糖来方便程序员进行开发,编译期间以特定的字节码或特定的方式来对这些语法进行处理。能够提高性能,并减少代码出错的几率。在 Java 中还有比如 泛型、自动拆箱、自动...
    99+
    2023-05-31
    java 增强for循环 fo
  • 【Java编程教程】详解 Java for 循环语句
    Java for 循环用于多次迭代程序的一部分。如果迭代次数固定,建议使用for循环。 Java 中有三种类型的 for 循环。   简单的 for 循环 For-each或增强型 for 循环 标记为循环 # Java 简单 ...
    99+
    2023-10-10
    java jvm servlet
  • python基础之while循环、for循环详解及举例
    目录1.while循环1.1Whlie循环的书写方式1.2while循环的格式1.3while循环注意事项1.4while嵌套的格式1.5while练习:计算 1~100 ...
    99+
    2022-11-10
  • Java for循环常见优化方法案例详解
    目录方法一:最常规的不加思考的写法方法二:数组长度提取出来方法三:数组长度提取出来方法四:采用倒序的写法方法五:Iterator 遍历方法六:jdk1.5后的写法方法七:循环嵌套外小...
    99+
    2022-11-12
  • shell中的for循环用法详解
    for 命令: for i in 的各种用法 : for i in “file1” “file2” “file3” for i in /boot/* for i in /etc/*.conf for ...
    99+
    2022-06-04
    shell for循环 shell for
  • 详解python基础中的for循环
    目录一、 for 循环二、拓展利用for循环输出字典的值value三、for循环的优势四、for实现累加五、计算10以内偶数和六、计算10以内奇数和总结一、 for 循环 根据变量赋...
    99+
    2022-11-12
  • java-for循环问题
    目录for循环练习增强for循环总结for循环 for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。 for循环执行的次数是在执行前就确定的。 语法格式如下: for...
    99+
    2023-03-13
    java-for循环 java for java for循环
  • 详解C语言中for循环与while循环的用法
    目录一、单层for循环二、for循环与if选择的嵌套三、多层for循环的嵌套四、while循环五、总结一、单层for循环 引例:C语言实现求1到10的和(用for循环实现) #inc...
    99+
    2022-11-13
  • 最详细的Java循环结构解析之for循环教程(适合小白)
    目录循环结构的分类 for循环 基本语法 for循环的执行顺序 实例解析 嵌套for循环 基本语法 实例解析 总结循环结构的分类 在Java中,循环结构一共分为三类: 1.for循...
    99+
    2022-11-12
  • java-for循环问题如何解决
    这篇文章主要介绍了java-for循环问题如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java-for循环问题如何解决文章都会有所收获,下面我们一起来看看吧。for循环for循环语句是支持迭代的一种通...
    99+
    2023-07-05
  • C语言for循环嵌套for循环在实践题目中应用详解
    目录做题前先学招第一题第二题第三题第四题第五题第六题做题前先学招 for循环嵌套个for循环,就是以下类型 for(...)——>" for(...
    99+
    2022-11-13
  • linux shell循环:for、while、until用法详解
    学习脚本就是为了方便我们运维工作,而对运维人员从来讲,有很多工作也是需要重复执行的,比如我们管理用户帐户时就需要批量创建和删除用户帐户。而此时如果使用系统自带的useradd或者userdel去操作的话,就只能机械式的一...
    99+
    2022-06-04
    linux shell循环
  • JavaScript 语句之常用 for 循环详解
    JavaScript中循环语句不少,for、for in、for of和forEach循环,今天对比Array、Object、Set(ES6)、Map(ES6)四种数据结构循环语句支...
    99+
    2022-11-11
  • Python for循环详解【附代码实例】
    文章目录 一、for循环二、for循环语法如下三、 for循环应用案例案例一:for循环实现方式案例二:遍历字典案例三:for循环嵌套 四、总结for循环与while循环的异同五、for...
    99+
    2023-09-25
    python 服务器 linux
  • Java流程控制之循环结构for,增强for循环
    目录1、for循环1.1-for循环语法格式及说明1.2-for循环实例练习演示2、增强for循环2.1-增强for循环语法格式及说明2.2-增强for循环实例演示1、for循环 虽...
    99+
    2022-11-12
  • 详细总结Java for循环的那些坑
    目录一、循环语句的几种语法二、循环中需要注意的点三、循环中的坑四、总结一、循环语句的几种语法 语法: for循环格式: for(初始化语句;条件判断;递进语句){ 循环体; } ...
    99+
    2022-11-12
  • Java增强型for循环
    在Java中,for-each循环(也称为增强型for循环)提供了一种简化遍历数组和集合的方法。它是一种迭代器模式的实现,使遍历元素变得更加简洁和方便。 for-each循环的语法格式如下: for ...
    99+
    2023-10-01
    java 开发语言
  • Python中的for循环详情
    目录1、可迭代对象1.1什么是可迭代对象1.2怎么判断2、字符串的for循环3、列表的for循环4、元组的for循环5、字典的for循环5.1keys()5.2 values()5....
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作