For loop 需要解释的嵌套循环

For loop 需要解释的嵌套循环,for-loop,methods,For Loop,Methods,基本上,在这个程序中,我被指示创建一个随机数数组,然后通过for循环的气泡排序将它们从最小到最大排序。经过一系列的尝试和错误,我的朋友和我都能找到答案,但我只是回顾了一下我的代码,说实话,这很难理解。。我不太熟悉嵌套循环,所以如果有人能解释这个方法是如何工作的,那就太棒了。更具体地说,值j和i代表什么 public void sort() { int val = 0; for(int i = 0; i < myArray.length; i++) { f

基本上,在这个程序中,我被指示创建一个随机数数组,然后通过for循环的气泡排序将它们从最小到最大排序。经过一系列的尝试和错误,我的朋友和我都能找到答案,但我只是回顾了一下我的代码,说实话,这很难理解。。我不太熟悉嵌套循环,所以如果有人能解释这个方法是如何工作的,那就太棒了。更具体地说,值
j
i
代表什么

public void sort() {

    int val = 0;
    for(int i = 0; i < myArray.length; i++) {

        for(int j = 1; j < (myArray.length - i); j++) {

             if(myArray[j-1] > myArray[j]) {

                 val = myArray[j-1];
                 myArray[j-1] = myArray[j];
                 myArray[j] = val;
             }
        }
    }
}
public void sort(){
int-val=0;
for(int i=0;imyArray[j]){
val=myArray[j-1];
myArray[j-1]=myArray[j];
myArray[j]=val;
}
}
}
}

非常感谢您的回答,谢谢各位

i
j
很短,除了表示数组中的索引之外,没有任何固有的含义。第一个for循环用于重复第二个循环和排序方法,因为数组中有很多项。第二个循环进行排序

if(myArray[j-1] > myArray[j]) { // Checks if the index `j` in the array is less than the one before it.
    val = myArray[j-1]; // Temporarily stores the greater value.
    myArray[j-1] = myArray[j]; // Swap the numbers.
    myArray[j] = val; // Swap the numbers.
}

i
j
只是循环变量-它们不代表任何东西。