2016-07-02 28 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。