Java for for循环与第二个条件中的相等运算符

时间:2018-02-13 11:36:36

标签: java arrays

我正在尝试以相反的顺序打印数组。

以下是代码:

stride=5

在这段代码中没有发生任何事情,但当我将第二个for循环中的第二个条件从dW=dH=5更改为import java.util.Scanner; public class Main { public static void main(String []argh) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = in.nextInt(); } for (int j = n-1 ; j == 0; j--) { System.out.print(arr[j] + " "); } in.close(); } } 时,它工作正常。我不明白为什么。在j == 0中,是否应该递减j >=0直到它等于j==0

3 个答案:

答案 0 :(得分:6)

for (int j = n-1 ; j == 0; j--)表示只要j等于0,循环就会执行。由于j被初始化为n-1,因此永远不会执行循环(假设n!= 1)。

答案 1 :(得分:3)

for循环的第二个参数是循环条件:它指定循环体将执行的条件。当条件为真时,正文将执行 直到为真。

注意您的第一个for循环如何工作:i0开始,并在 i < n时循环。在第二个循环中它的原理相同,只有你的循环变量向相反的方向移动:jn - 1开始,并且应该在 {{1}时循环 }}

Java中的所有条件循环(j >= 0whilefor)都以这种方式工作:它们只在条件成立时循环,然后它们终止,执行选择循环之后。

答案 2 :(得分:0)

j==0中,条件将为假,因为j的值等于n-1,j=n-1。 假设n的值是3,那么j将等于2然后它将进入条件检查part for for for循环,在那部分你写的像j==0,因为j不等于2因此条件将为假,并且它将从for循环中退出。