如何阅读这行代码

时间:2016-10-02 12:18:57

标签: java csv

我正在使用此

while ((nextLine = br.readNext()) != null) {

非常频繁,但我真的不明白。
它是上传csv文件的代码的一部分 基本上我想知道,热门阅读它。
下一行定义为:String[] nextLine;

2 个答案:

答案 0 :(得分:3)

循环部分很简单:

while (____ != null) {

____不等于null时,它会继续循环播放。那么让我们来看看____正在做什么:

(nextLine = br.readNext())

该代码是一个assignemnt:它调用br.readNext()并将结果分配给nextLine。关键是赋值的结果是已分配的值。

所以:

  • 如果br.readNext()返回的内容不是null,则会将其分配给nextLine,代码会进入循环体。

  • 如果br.readNext()返回null,则会将其分配给nextLine并且循环终止,因为null != null为false。

答案 1 :(得分:2)

该行

while ((nextLine = br.readNext()) != null) {

利用了这样一个事实,即“赋值”也是一个具有值的“表达式” - 指定的值。

所以从括号内部读出的行执行以下操作:

  1. 为对象readNext();
  2. 调用br
  3. 将调用结果分配给nextLine;
  4. 测试为null;
  5. 指定的值
  6. 如果 null,它会跳过while循环的主体,到7。;
  7. 如果不是 null,则会执行while循环的正文;
  8. 然后又回到1.
  9. 继续该计划。