Skip to Content
Java2 源文件基础

2 源文件基础

2.1 文件名

对于包含类的源文件,文件名由其中恰好一个顶层类的区分大小写的名称加上 .java 扩展名组成。

2.2 文件编码:UTF-8

源文件使用 UTF-8 编码。

2.3 特殊字符

2.3.1 空白字符

除了行终止符序列外,ASCII 水平空格字符0x20)是源文件中任何位置唯一允许出现的空白字符。这意味着:

  1. char 和字符串字面量以及文本块中,所有其他空白字符均需转义。
  2. 制表符用于缩进。

2.3.2 特殊转义序列

对于任何具有特殊转义序列 的字符(\b\t\n\f\r\s\"\'\\),应使用该转义序列,而不是对应的八进制转义(如 \012)或 Unicode 转义(如 \u000a)。

2.3.3 非 ASCII 字符

对于其余非 ASCII 字符,使用实际的 Unicode 字符(如 )或等价的 Unicode 转义(如 \u221e)均可。选择取决于哪种方式能使代码更易于阅读和理解,但强烈不建议在字符串字面量和注释之外使用 Unicode 转义。

**提示:**在使用 Unicode 转义的情况下,甚至偶尔在使用实际 Unicode 字符时,添加一条解释性注释会非常有帮助。

示例:

示例说明
String unitAbbrev = "μs";最佳:即使没有注释也非常清晰。
String unitAbbrev = "\u03bcs"; // "μs"允许,但没有理由这样做。
String unitAbbrev = "\u03bcs"; // Greek letter mu, "s"允许,但写法笨拙且容易出错。
String unitAbbrev = "\u03bcs";差:读者完全不知道这是什么。
return '\ufeff' + content; // byte order mark好:对不可打印字符使用转义,并在必要时加注释。

提示:不要仅仅因为担心某些程序可能无法正确处理非 ASCII 字符就降低代码的可读性。如果真的发生这种情况,那些程序是有问题的,必须修复它们。

Last updated on