2010-01-24 203 views

回答

11

是的,它是區分大小寫的。正是因爲它來自C的傳統才能這樣。爲了讓語言更加熟悉人們習慣於「當天」的內容,他們將其留作區分大小寫。還有一個額外的優點,因爲Java標識符幾乎可以是任何Unicode字符。您不必擔心個別角色是否可以大寫。

例如,應該ß相當於ss

+0

這是什麼Unicode字符? – 2013-08-03 19:47:16

+0

@Cole「Cole9」Johnsonß LATIN SMALL LETTER SHARP S Unicode:U + 00DF,UTF-8:C3 9F – 2013-08-03 22:17:06

+0

An S,eh?那麼爲什麼'小寫(U + 00DF)'產生'ss'呢?我確定它只是's'。 – 2013-08-03 22:29:53

6

標識符區分大小寫,因爲排序規則是一個困難的,與區域相關的問題。

+1

Unicode排序規則定義了預定義,這意味着它也*定義了不區分大小寫的比較。 – Tobu 2010-01-24 20:01:38

+1

我站好了;抱歉。我不能再改變投票了,但是因爲喬爾和傑夫決定討論決不會影響個人意見是個好主意。 – Joey 2010-01-24 20:31:12

+0

謝謝,我寧願忽略積極的增強thingie。 – Tobu 2010-01-24 21:09:50

3

是的。 Java是區分大小寫的,因爲大多數編程語言都是!

+2

我想說這是一個很差的解釋。 – MightyPork 2013-08-03 19:57:28

6

Java區分大小寫,因爲它使用C風格的語法。區分大小寫很有用,因爲它可以讓您根據大小寫的情況推斷名稱的含義。

例如,類名的Java標準是大寫每個單詞的第一個字母(Integer,PrintStream等)。變量和方法名稱的標準是小寫字母的第一個字母,並大寫所有其他第一個字母(number,println(), checkError()等)。常量標準全部大寫且帶下劃線(SOME_CONSTANT)。

當你不需要遵循這些規則在你的代碼(它會編譯即使你打破這些規則),Java的內置代碼跟隨他們,以及所有主要的Java庫也這樣做。而且你的代碼也應該遵循這些規則,因爲它可以幫助其他開發人員在看到大寫字母時推斷其含義。

4

這是更多的技術決定。 Java被認爲是平臺獨立的。公共Java類與文件系統中的包/ classname一起存儲。在非Windows平臺上,文件名區分大小寫。如果你沒有使用確切的情況來加載/運行類,它會在那裏失敗。這種區分大小寫的需求擴展到了Java中的其他標識符(最終爲命名約定等其他(但非技術性)優點留出空間)。

1

Java編譯器和解釋器區分大小寫,所以您必須始終保持大寫。

HelloWorldApp與Helloworldapp不一樣。

此情況下靈敏度反映Java的遺產C和C++的產物。

33

我讀的地方,Java是區分大小寫的。我一直無法證實這一點。

Java源代碼是區分大小寫的,如果你是這個意思。即Doubledouble不是同一類型,並且可以有兩個不同且單獨的變量myDatamydata

是嗎?如果是這樣,爲什麼?

大小寫敏感是大多數編程語言和環境的規範,因爲大寫和小寫字母的最低層次代表不同。對於一臺電腦來說,「a」和「A」是完全不同的兩件事情,並且需要額外的工作才能使它看起來像是一樣的。此外,一些語言對套管有非常複雜的特殊規則,例如,德文字母ß沒有大寫字母,通常大寫爲「SS」 - 「weiß」和「WEISS」應該被認爲是合成相同的嗎?更糟的是土耳其語:他們有兩個單獨的字母,我有和沒有一個點,每個都有自己的大寫版本。所以在土耳其,「IMAGE」是而不是「image」的大寫版本!這根本不是無關緊要的,特別是對於Java而言,因爲如果需要的話,您可以在Java程序中實際使用所有這些字母作爲標識符。根據所有這些,編程語言設計人員會選擇使語法區分大小寫的簡單解決方案是非常容易理解的。

+0

我認爲不區分大小寫的語言可以很容易地存在,而不存在您提到的問題。如果允許程序中的標識符/變量/常量/等僅由ASCII字符組成,則問題不再存在。此外,即使你是法國程序員,你也會用英文編碼。你的代碼必須被儘可能多的人理解。是的,其他特殊字符可以(也將會)存在於代碼中的字符串中,但這是一個完全不同的問題。我並不是說切換到不區分大小寫,我只是說這很容易。 – 2012-07-12 07:26:42

+0

事實上,HTML,CSS和SQL(以及PL/SQL)是作爲大小寫不敏感的語言的例子而出現的,這些語言似乎並不因「ß」而崩潰(儘管這很有趣)。 – 2017-04-11 18:11:38

3

無論程序設計語言是否區分大小寫,都傾向於在程序員之間劃分意見。不管爭論如何,重要的是要記住Java是區分大小寫的。 它只是意味着您的Java程序中的字母大小寫。例如,假設您決定創建三個名爲「endLoop」,「Endloop」和「EnDlOoP」的變量。即使用英文,我們也會看到變量名稱是相同的,但Java沒有。它會以不同的方式對待他們。