Java区分大小写吗?

gir*_*iri 7 java case-sensitive

我在某处读到Java区分大小写.我一直无法证实这一点.是吗?如果是这样,为什么?

Mic*_*rdt 35

我在某处读到Java区分大小写.我一直无法证实这一点.

Java源代码区分大小写,如果您的意思是.即Double不是同一类型double,你可以有两个不同的和单独的变量myDatamydata.

是吗?如果是这样,为什么?

区分大小写在大多数编程语言和环境中都是常态,因为大写字母在最低级别表示不同.对于计算机来说,"a"和"A"是两个完全不同的东西,需要额外的工作才能让它表现得好像它们是相同的.

此外,有些语言对套管有非常棘手的特殊规则,例如德语字母ß没有大写版本,通常大写为"SS" - 所以"weiß"和"WEISS"应该被认为是语法相同吗?更糟糕的是土耳其语:他们有两个单独的字母,有或没有点,每个都有自己的大写版本.所以在土耳其,"IMAGE" 不是 "图像" 的大写版本!这根本不是无关紧要的,特别是对于Java,因为如果你愿意,你可以在Java程序中实际使用所有这些字母作为标识符.

鉴于所有这些,编程语言设计者会选择使语法区分大小写的简单解决方案是非常容易理解的.


Pau*_*and 11

是的,它区分大小写.正是这种方式,因为它的传承来自C.为了使语言更加熟悉人们习惯于"白天",他们将其视为区分大小写.还有一个额外的好处,因为Java标识符几乎可以是任何Unicode字符.您不必担心个别角色是否可以大写.

例如,应该ß相当于ss


Tob*_*obu 6

标识符区分大小写,因为排序规则是一个困难的,与语言环境相关的问题.


Kal*_*see 6

Java区分大小写,因为它使用C风格的语法.区分大小写非常有用,因为它可以根据具体情况推断出名称的含义.

例如,对于类名的Java标准uppercasing每个单词(的第一个字母Integer,PrintStream等等).变量和方法名的标准是小写的第一个单词的第一个字母,uppercasing所有其他第一个字母(number,println(),checkError()等).并且常量的标准都是带有下划线(SOME_CONSTANT)的大写.

虽然您不需要在代码中遵循这些规则(即使您违反这些规则也会编译),但Java的内置代码遵循它们,并且所有主要的Java库也都遵循这些规则.而且你的代码也应该遵循这些规则,因为它可以帮助其他开发人员在看到资本化时推断出意义.


Bal*_*usC 6

这更像是一个技术决定。Java 旨在独立于平台。公共 Java 类与文件系统中的包/类名一起存储。在非 Windows 平台中,文件名区分大小写。如果您没有使用确切的大小写来加载/运行类,它会在那里失败。这种区分大小写的需求扩展到 Java 中的其他标识符(这最终为命名约定等其他(但非技术)优势留出空间)。