我不懂程序

时间:2010-11-15 14:22:29

标签: 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"));
  }
}

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

3 个答案:

答案 0 :(得分:5)

 int i, n;

会宣布两个整数。

在代码中

  int i = 0, n = files.length;

声明并初始化它们。

答案 1 :(得分:4)

它被宣布为int。逗号分隔多个变量声明。

答案 2 :(得分:0)

n在for循环中以与i。

相同的方式定义
  

int x,y;   将两个变量x和y定义为整数。 for for中的逗号看起来更复杂。