Java for循环,在第二个条件中使用相等运算符
我正在尝试以相反的顺序打印数组 代码如下:Java for循环,在第二个条件中使用相等运算符,java,arrays,Java,Arrays,我正在尝试以相反的顺序打印数组 代码如下: 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 &
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();
}
}
import java.util.Scanner;
公共班机{
公共静态void main(字符串[]argh){
扫描仪输入=新扫描仪(系统输入);
int n=in.nextInt();
int[]arr=新的int[n];
对于(int i=0;i
在这段代码中,什么也没有发生,但是当我将第二个for循环中的第二个条件从
j==0
更改为j>=0
时,它工作了。我不明白为什么。在j==0
中,这不是应该递减j
直到它等于0
?对于(int j=n-1;j==0;j-)
意味着只要j
等于0
,循环就会执行。由于j
被初始化为n-1
,因此循环永远不会执行(假设n!=1)。for(int j=n-1;j==0;j--)
意味着只要j
等于0
,循环就会执行。由于j
被初始化为n-1
,因此循环永远不会执行(假设n!=1)。循环的的第二个参数是循环条件:它指定循环体将在何种条件下执行。当条件为真时,主体将执行,不,直到它为真
注意你的第一个for
循环是如何工作的:i
从0
开始,在i
时循环。第二个循环中的原理相同,只有循环变量朝相反的方向移动:j
从n-1
开始,当j>=0
时应该循环
Java中的所有条件循环(while
,for
,do while
)都是这样工作的:它们只在条件保持时循环,然后终止,循环后执行开始。循环的的第二个参数是循环条件:它指定循环体将在什么条件下执行。当条件为真时,主体将执行,不,直到它为真
注意你的第一个for
循环是如何工作的:i
从0
开始,在i
时循环。第二个循环中的原理相同,只有循环变量朝相反的方向移动:j
从n-1
开始,当j>=0
时应该循环
Java中的所有条件循环(while
,for
,以及do while
)都是这样工作的:它们只在条件保持时循环,然后终止,循环后执行开始。在j==0
中,条件将为false,因为j被赋予一个等于n-1的值,j=n-1
。
假设n的值是3,那么j将等于2,然后它将进入for循环中的条件检查部分,在这部分中,你像这样写的j==0
,因为j不等于2,所以条件将为false,它将退出for循环。在j==0
中,条件将为false,因为给j一个等于n-1的值,j=n-1
。
假设n的值为3,那么j将等于2,然后它将进入for循环中的条件检查部分,在这部分中,您像这样编写j==0
,因为j不等于2,所以条件将为false,它将退出for循环。在您的第一个循环中,您希望它递增i
直到i
小于n
,还是直到它停止小于n
?对第二个循环应用相同的逻辑。在第一个循环中,您希望它递增i
,直到i
小于n
,还是直到它停止小于n
?对第二个循环应用相同的逻辑。