我不懂程序

Mav*_*ick 1 java

我想要一个可以列出目录中所有可用内容的程序.我在java2's.com中找到了一个很好的代码, http://www.java2s.com/Code/Java/File-Input-Output/ListingtheDirectoryContents.htm

这是代码,

import java.io.File;
import java.util.Arrays;

public class Dir {

  static int indentLevel = -1;

  static void listPath(File path) {
    File files[]; 
    indentLevel++; 

    files = path.listFiles();

    Arrays.sort(files);
    for (int i = 0, n = files.length; i < n; i++) {
      for (int indent = 0; indent < indentLevel; indent++) {
        System.out.print("  ");
      }
      System.out.println(files[i].toString());
      if (files[i].isDirectory()) {
        listPath(files[i]);
      }
    }
    indentLevel--; 
  }

  public static void main(String args[]) {
    listPath(new File(".\\code"));
  }
}
Run Code Online (Sandbox Code Playgroud)

我不明白的是n第一个for循环中的变量.如果没有在任何地方定义,那么为什么程序没有显示任何错误?

djn*_*jna 5

 int i, n;
Run Code Online (Sandbox Code Playgroud)

会宣布两个整数.

在代码中

  int i = 0, n = files.length;
Run Code Online (Sandbox Code Playgroud)

声明并初始化它们.