2016-07-02 19 views
11

赋值操作的返回值我遇到了在Java中的语句在Java

while ((line = reader.readLine()) != null) { 
    out.append(line); 
} 

如何分配操作中的Java返回值?由于我们正在检查的声明是line=reader.readLine()并将其与null进行比较。因为readLine会返回字符串,我们究竟是如何检查null

回答

20

Java中的赋值运算符返回所分配的值(像它,例如,在)。所以在这里,readLine()将被执行,并且它的返回值存储在line中。然后检查该值与null,如果它是null,循环将终止。

4

(线= reader.readLine())!= NULL

装置

  1. 方法的readLine()被调用。
  2. 结果赋给变量线
  3. 线的新值将证明对空一次

也许很多操作...

4

分配表达式被评估为他们的分配值。

(test = read.readLine()) 

>>

(test = <<return value>>) 

>>

<<return value>> 
+0

我的问题是做表达式还返回一些当时根据你 (line = null),这是否意味着它会再次返回null? – sunder

+0

@sunder我编辑了我的答案,以解决有关赋值表达式评估的问题。 –

0

reader.readLine()会为您读取并返回一行。在这里,你将任何返回的内容分配给行,并检查行变量是否为null。