Java语言程序设计——for循环语句

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • Java for循环简介
  • 一、for循环语句是什么?
  • 二、for语句使用说明
  • 1.说明
  • 2.常见错误分析
  • 3.三种循环语句的选择
  • 4.实训练习
  • 总结

  • Java for循环简介

    Java 中的 for 循环是一种控制流语句,它重复执行一段代码,直到给定的条件不再满足。Java 提供了几种 for 循环的形式,以下是最常见的几种:

    1. 基本for循环

    基本 for 循环由四个部分组成:初始化表达式、循环条件、迭代表达式和循环体。

    for (初始化表达式; 循环条件; 迭代表达式) {
        // 循环体
    }
    
  • 初始化表达式:在循环开始前执行一次,通常用于声明和初始化循环变量。
  • 循环条件:每次循环开始前检查,如果条件为 true,则执行循环体;如果为 false,则退出循环。
  • 迭代表达式:在每次循环体执行后执行,通常用于更新循环变量。
  • 循环体:需要重复执行的代码块。
  • 例如:

    for (int i = 0; i < 5; i++) {
        System.out.println("i 的值是:" + i);
    }
    # 这个循环将打印数字 0 到 4。

    2. 增强for循环(for-each循环)

    Java 5 引入了增强 for 循环,它简化了数组和集合的遍历。

    for (声明语句 : 表达式) {
        // 循环体
    }
    
  • 声明语句:用于声明一个新的局部变量,其类型必须和数组或集合中元素的类型匹配。
  • 表达式:表达式必须是一个数组或者是一个实现了 Iterable 接口的集合。
  • 例如:

    int[] numbers = {1, 2, 3, 4, 5};
    for (int number : numbers) {
        System.out.println("数字:" + number);
    }
    # 这个循环将打印数组 numbers 中的每个元素。

     3. 标签化的for循环

    Java 允许你使用标签来标记循环,这样你可以在多层嵌套循环中直接跳转到指定的循环。

    label1:
    for (初始化表达式; 循环条件; 迭代表达式) {
        // 循环体
    }
    
    label2:
    for (初始化表达式; 循环条件; 迭代表达式) {
        // 循环体
        // 可以使用 break label1; 或 continue label1; 来控制外层循环
    }
    

    例如:

    outerLoop:
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            if (i == 2) {
                break outerLoop; // 直接跳出外层循环
            }
            System.out.println("i = " + i + ", j = " + j);
        }
    }
    # 当 i 等于 2 时,循环将使用 break 语句跳出外层循环。

     for 循环是 Java 中非常强大和灵活的机制,它允许你以多种方式重复执行代码块。

    一、for循环语句是什么?

    for循环语句是编程语言中的一种控制流语句,它能够重复执行一段代码,直到指定的条件不再满足。在大多数编程语言中,for循环的基本结构包括三个主要部分:

    1. 初始化表达式(Initial Expression):在循环开始之前执行,通常用于初始化一个计数器。
    2. 循环条件(Loop Condition):在每次迭代之前检查,如果条件为真(True),则执行循环体中的代码;如果为假(False),则退出循环。
    3. 迭代表达式(Iteration Expression):在每次循环体执行之后执行,通常用于更新计数器。

    for循环通常用于已知循环次数的情况,使用该循环时,测试是否满足某个条件,如果满足条件,则进入下一次循环,否则,退出该循环。

    # 基本语法
    for (初始化表达式; 布尔表达式; 步进表达式) {
        // 要重复执行的代码块
    }
    

    二、for语句使用说明

    1.说明

    (1)在for语句之前已经给循环变量赋初值,则for语句的循环变量赋初值部分可以省略,但其后得分号不省略。
    (2)可以将循环变量修正值的工作纳入循环体中去做。

     (3)for语句可以三个部分都省略。但省略表达式2会陷入死循环,除非在循环体中用break跳出。

    2.常见错误分析

    for子句与循环体之间出现错误的分号:

    3.三种循环语句的选择

     建议使用自己觉得最自然、最舒服的一种循环语句
     通常,如果已知重复次数,那就采用for循环。如果无法确定重复次数,就采用while循环。如果在检验继续条件前需要执行循环体,就用do…while循环替代while循环。

    4.实训练习

    1. 将1~100之内的能被7整除的数输出。

    public class DivisibleBySeven {
        public static void main(String[] args) {
            for (int i = 1; i <= 100; i++) {
                if (i % 7 == 0) {
                    System.out.println(i);
                }
            }
        }
    }
    

    在这段代码中,我们使用了一个for循环来迭代从1到100的整数。在循环内部,我们使用if语句来检查当前数字i是否能被7整除(即i % 7 == 0)。如果条件成立,我们就输出这个数字。

    2.输入10个整数,分别求出所有正数之和、所有负数之和、零的个数。

    import java.util.Scanner;
    
    public class SumOfNumbers {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int positiveSum = 0;
            int negativeSum = 0;
            int zeroCount = 0;
    
            System.out.println("请输入10个整数:");
    
            for (int i = 0; i < 10; i++) {
                int number = scanner.nextInt();
                if (number > 0) {
                    positiveSum += number;
                } else if (number < 0) {
                    negativeSum += number;
                } else {
                    zeroCount++;
                }
            }
    
            System.out.println("所有正数之和为:" + positiveSum);
            System.out.println("所有负数之和为:" + negativeSum);
            System.out.println("零的个数为:" + zeroCount);
    
            scanner.close();
        }
    }
    

    在这个程序中,我们首先导入了Scanner类来读取用户输入。然后,我们初始化了三个变量来分别存储正数之和、负数之和以及零的个数。通过一个for循环,我们读取用户输入的10个整数,并根据这些整数的值来更新相应的变量。最后,我们输出这三个变量的值。记得在程序的最后关闭Scanner对象以释放资源。 

    3.某次大奖赛,有七个评委打分,要求输入七个评委的打分分数,去掉一个最高分和一个最低分后,求出该参赛者的总得分。 

    import java.util.Scanner;
    
    public class ScoreCalculator {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int[] scores = new int[7]; // 存储七个评委的分数
            int sum = 0;
            int maxScore = Integer.MIN_VALUE;
            int minScore = Integer.MAX_VALUE;
    
            System.out.println("请输入七个评委的打分:");
    
            // 读取评委的打分
            for (int i = 0; i < scores.length; i++) {
                scores[i] = scanner.nextInt();
                sum += scores[i]; // 累加分数
            }
    
            // 使用for循环找出最高分和最低分
            for (int score : scores) {
                if (score > maxScore) {
                    maxScore = score; // 更新最高分
                }
                if (score < minScore) {
                    minScore = score; // 更新最低分
                }
            }
    
            // 去掉一个最高分和一个最低分
            sum = sum - maxScore - minScore;
    
            System.out.println("去掉一个最高分和一个最低分后,参赛者的总得分为:" + sum);
    
            scanner.close();
        }
    }
    

    在这个程序中,我们使用两个for循环:第一个循环用于读取评委的分数并累加到sum变量中;第二个循环用于遍历分数数组scores以找出最高分maxScore和最低分minScore。在找到最高分和最低分之后,我们从总和中减去这两个分数,得到最终的总得分并输出。记得在程序的最后关闭Scanner对象以释放资源。 


    总结

    for循环是Java程序设计中不可或缺的一部分,掌握其用法对于编写高效、简洁的代码至关重要。通过灵活运用for循环,可以解决许多编程问题,尤其是在处理重复性任务和遍历数据结构时。在实际应用中,应根据具体需求选择合适的循环结构,并注意优化循环性能。

    【java循环语句之for循环】 https://www.bilibili.com/video/BV1XJ2qYmEhD/?share_source=copy_web&vd_source=2c9ea2fb244f36aafaf7fda9e57e5569

    作者:摸鱼人(⊙_⊙)?

    物联沃分享整理
    物联沃-IOTWORD物联网 » Java语言程序设计——for循环语句

    发表回复