2010-01-24 205 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没有。它会以不同的方式对待他们。