Java 可以同时运行两个for循环吗?

Java 可以同时运行两个for循环吗?,java,Java,我试图得到二维方阵对角元素的差分 static int diagonalDifference(int[][] arr) { int left=0,right=0; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(i==j){ left=left+arr[i][j]; } } } for(int i

我试图得到二维方阵对角元素的差分

static int diagonalDifference(int[][] arr) {
    int left=0,right=0;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(i==j){
                left=left+arr[i][j];
            }
        }
    }
    for(int i=0,int j=n;i<n;i++,j--){
        right=right+arr[i][j];
    }


}
静态int对角线差(int[]arr){
int left=0,right=0;

对于(inti=0;i在您开始担心并行运行循环之前,请先考虑编写简单、正确的代码

例如:

for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
        if(i==j){
            left=left+arr[i][j];
        }
    }
}
这只会进行
n
迭代:不仅代码更简单,而且速度更快

这是低效的;您的另一个循环实际上是错误的:

for(int i=0,int j=n;i<n;i++,j--){
    right=right+arr[i][j];
}

只要有一个循环,就不需要尝试使循环同时运行。

在开始担心并行运行循环之前,请先考虑编写简单、正确的代码

例如:

for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
        if(i==j){
            left=left+arr[i][j];
        }
    }
}
这只会进行
n
迭代:不仅代码更简单,而且速度更快

这是低效的;您的另一个循环实际上是错误的:

for(int i=0,int j=n;i<n;i++,j--){
    right=right+arr[i][j];
}

由于只有一个循环,因此无需尝试使循环同时运行。

欢迎使用堆栈溢出!请查看on。目前,不清楚您到底在问什么。此外,您的代码不可编译,因此提供循环确实有帮助。是的,您可以运行不同的代码(例如循环)同时,您可以在分离的线程中运行它们。但是idk您希望实现什么。欢迎使用堆栈溢出!请查看on。目前,还不清楚您到底在问什么。此外,您的代码没有编译,因此提供一个。是的,您可以运行不同的代码(例如循环)同时-您可以在分离的线程中运行它们来实现这一点。但是idk您希望实现什么呢。