Java中赋值操作的返回值

sun*_*der 32 java expression file-handling assignment-operator

我在Java中遇到了一个声明

while ((line = reader.readLine()) != null) {
    out.append(line);
}
Run Code Online (Sandbox Code Playgroud)

赋值操作如何在Java中返回值?

我们正在检查的声明是line = reader.readLine(),我们将其与之进行比较null.

既然readLine会返回一个字符串,我们究竟要检查的是null什么?

Mur*_*nik 40

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


Rol*_*and 8

Java\xc2\xae 语言规范 15.26。赋值运算符

\n\n
\n

在运行时,赋值表达式的结果是赋值发生后变量的值。

\n
\n


ΦXo*_*a ツ 7

(line = reader.readLine())!= null

手段

  1. 调用readLine()方法.
  2. 结果分配给变量,
  3. line的新值将证明是null

也许很多操作一下子......


Dre*_*res 7

赋值表达式被计算为其赋值.

(test = read.readLine())
Run Code Online (Sandbox Code Playgroud)

>>

(test = <<return value>>)
Run Code Online (Sandbox Code Playgroud)

>>

<<return value>>
Run Code Online (Sandbox Code Playgroud)