2014-05-13 54 views
-1

我讀到Java語言規範(SE8),我碰到這個來..什麼是線路終結者,它如何應用於評論?

Lines are terminated by the ASCII characters CR, or LF, or CR LF. The two characters CR immediately followed by LF are counted as one line terminator, not two. 

A line terminator specifies the termination of the // form of a comment (§3.7). 

http://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.4

我不明白是什麼意思,並沒有任何實例它是如何工作的。基於關閉情況下,我猜行結束符將是一個註釋的結尾,所以

/* 
    * 
    */ 

線路終端將*/(請糾正我,如果我錯了)

我不不明白線路終端如何適用於//評論。

編輯:所以我想我不會發瘋,\n \r被視爲線終結者,這是我第一次猜測。真正讓我困惑的是,爲什麼他們在談論這件事時引用了評論,通常(從我看到的),他們用於字符串。

+0

你錯過了行結束符的根本目的。對評論的引用並不是說你必須承擔任何責任,只是平臺的文件編碼導致源文件的行被適當的字符終止。你看不到它們(你只看到一條「新線」)。編譯器解析您的代碼並將「行終止符」解釋爲CR,LF或CRLF之一,並繼續解析代碼。這就是評論參考的來源。 –

回答

1

閱讀:http://en.wikipedia.org/wiki/Newline

就這麼表示一行結束,根據你的平臺的ASCII編碼的字符序列。

例如,ASCII字符CR(回車符),LF(換行符)或CRLF(回車符,緊跟換行符後面)用於表示一行文本的結尾。 在大多數UNIX平臺上,只使用一個CR字符,而在基於DOS的平臺上,通常序列CRLF用於表示行結束,因此該序列通常被解釋爲「一個終止符」,因爲它們必須按照這個順序。

要解決具體問題(基於評論反饋): 這與評論無關,從您作爲用戶的角度來看。它對於Java源代碼的解析器非常重要,因爲在讀取一行時,它期望適當的行終止符在那裏。您可以通過按「Enter」插入新行來有效地完成此操作。文件,文本編輯器和平臺的編碼都需要協調哪些特定的字符;當添加新行時,CR,LF或CRLF實際上被插入。

+0

這是如何適用於'//評論?我明白'\ n'和'\ r',但這是如何適用於評論? –

+0

每一行都有一個行分隔符,不管評論,代碼或其他任何文字。 – dunni

+0

它並不適用於評論的一切,從你的角度。當您完成註釋時按下「Enter鍵」將插入適當的不可見字符,終止該行。代碼解析器使用它來確定該行是否正確終止。 –

1

行結束符是一個實際的ASCII字符,它對人類不可見但對計算機很重要。行結束符字符告訴計算機開始新行的位置。當我們想要新線時,我們告訴電腦「打印」終結者。 例如,在Java中,而不是做

System.out.println("Hello World"); 

你可以做

System.out.print("Hello World\n"); 

凡 「\ n」 代表行終止或 「新行」。

相關問題