对于每个循环,阅读一行


for (String line = br.readLine(); line != null; line = br.readLine()) 

我知道每个循环,但在开始和结束时几乎没有混淆,我知道br.readline()按行读取文本文件。

我不知道问题是什么,但是....

for (String line = br.readLine(); line != null; line = br.readLine()) {
    // do loop
}

相同
String line = br.readLine();
while(line != null) {
    // do loop
    line = br.readLine();
}

但是我更喜欢

for(String line; (line = br.readLine()) != null;) {
   // do loop
}

Java中的For循环语句定义为(c& p):

for (<initialization>; <termination>; <increment>) {
    statement(s)
}

使用此版本的for语句时,请记住:

  • 初始化表达式初始化循环;它已执行一次,随着循环开始。
  • 当终止表达式评估为false时,循环终止。
  • 每次迭代通过循环后将调用增量表达式;该表达式增加或降低值是完全可以接受的。

因此,在您的表达式中,您正在初始化一个字符串:

String line = br.readLine(); 

,当这不是真的时,循环将结束:

line != null;

那就是:做

之后
line = br.readLine()) 

并获得null

最新更新