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
。