📜  理解Java中的 for 循环

📅  最后修改于: 2022-05-13 01:55:20.035000             🧑  作者: Mango

理解Java中的 for 循环

假设需要打印从 1 到 5 的数字。一种可能的方法是借助以下代码:

class GFG {
    public static void main(String args[])
    {
  
        int a;
        a = 1;
        System.out.println(a);
        a=2;
        System.out.println(a);
        a=3;
        System.out.println(a);
        a=4;
        System.out.println(a);
        a=5;
        System.out.println(a);
    }
}

上面的代码可能看起来很简单,但它有很多缺点,例如:

  • 固定代码:代码只打印数字 1 到 5。如果需要一些其他数字或其他模式怎么办?在这种情况下,此解决方案建议使用新的所需值编写另一个程序或更改现有程序中的每个单独的值。每次都会这样,导致多次写入一个长而固定的结构。
  • 重复代码:如上一点所述,此解决方案建议使用修改后的值重新编写整个程序或每次修改现有程序中的值。但是,如果需要 100 种这样的模式呢?这将导致大量重复和不必要的代码。
  • 未概括:建议的解决方案未概括。这意味着要打印的数字由用户静态提供给代码。代码没有遵循并根据该模式打印代码的预定义模式。
  • 不可扩展:用计算机科学编写的每个代码都必须以可扩展的方式编写。这意味着代码必须以最少的更改运行良好才能打印数字 1 到 100。

每当需要重复一个过程时,这里就会出现寻求帮助的“循环”。

什么是循环?

编程语言中的循环是一种有助于在某些条件评估为真时重复执行一组指令/函数的功能。
Java提供了三种执行循环的方法。虽然所有方法都提供了类似的基本功能,但它们的语法和条件检查时间不同。

  1. while 循环: while 循环是一种控制流语句,它允许根据给定的布尔条件重复执行代码。 while 循环可以被认为是一个重复的 if 语句。
    句法 :
    while (boolean condition)
    {
       loop statements...
    }
    

    流程图:
    while 循环

  2. for 循环: for 循环提供了一种简洁的方式来编写循环结构。与 while 循环不同,for 语句在一行中使用初始化、条件和递增/递减,从而提供更短、易于调试的循环结构。
    句法:
    for (initialization condition; testing condition; 
                                  increment/decrement)
    {
        statement(s)
    }
    

    流程图:
    java中的for循环

    增强的 For 循环

    Java还包括在Java 5 中引入的另一个版本的 for 循环。增强的 for 循环提供了一种更简单的方法来遍历集合或数组的元素。它不灵活,只有在需要以顺序方式遍历元素而不知道当前处理的元素的索引时才应该使用它。
    句法:

    for (T element:Collection obj/array)
    {
        statement(s)
    }
    
  3. do while: do while循环与while循环类似,不同之处在于它在执行语句后检查条件,因此是退出控制循环的一个例子。
    句法:
    do
    {
        statements..
    }
    while (condition);
    

    流程图:
    做时

    如何写一个循环?

    仔细观察上面给出的代码,可以分为以下过程或步骤:
    1) 将值初始化为变量
    2)打印值
    3) 改变值
    4) 打印值

    这些过程一次又一次地重复。这可以用循环替换,如下所示:

    • 在上面显示的代码中,初始化是a=1,在for循环中也可以做同样的事情。
    • 第二个表达式是条件。条件应该指定循环应该执行多少次。这取决于该过程应重复的次数。在这种情况下,它应该运行 5 次。 “a”的值从 1 开始,应该打印到它的值是 5。所以要添加的条件是a<=5
    • 第三个表达式是更新。每次循环变量(此处为“a”)都需要根据预期的代码进行更新。在这里,'a' 的值在每次打印操作时都加 1。因此a++适合这种情况。
    • 最后一个表达式是主体,它是需要重复执行的操作。这里每次执行都会打印“a”的值。

    下面是在 Loop 的帮助下执行所需的代码:

    class GFG {
        public static void main(String args[])
        {
            int a;
            for (a = 1; a <= 5; a++) {
                System.out.println(a);
            }
        }
    }