java文件的編碼必須是UTF-8
java
縮進必須使用空格而不是tab數組
對於有特殊轉義表示的字符(\b, \t, \n, \f, \r, \", \', \\),禁止使用其它等價轉義方式。例如\012或者\u00a表示app
順序:【許可證(License)或版權聲明(Copyright)、package語句、import語句、惟一的頂層類】中間用2個空行分割ide
每一個源文件只容許包含惟一一個頂層類函數
重載的方法必須放在一塊兒,即同名的構造函數或方法之間禁止插入其餘成員編碼
每次開始書寫一個新的代碼塊時,使用4個空格進行縮進,在代碼塊結束時,恢復以前的縮進級別spa
列寬必須爲120字符,如下狀況能夠不遵照列寬限制:code
沒法限制寬度的內容,好比註釋裏的長URLorm
package和import語句ip
註釋中須要被粘貼到Shell裏去執行的命令
除了語法要求,字符串內的空格,以及JavaDoc裏的空格,須要在下列狀況裏使用空格
保留字(好比if、for和catch)和隨後的左圓括號(()之間要有一個空格
保留字(好比else和catch)和以前的右花括號(})之間要有一個空格
在任意左花括號({)以前要有一個空格。@SomeAnnotation({a, b})和String[][] x = {{"foo"}};這兩種狀況除外。
在二目和三目運算符兩邊各要有一個空格。該規則一樣適用於<T extends Foo & Bar>中的&,catch (FooException | BarException e)中的|,以及foreach中的:
在逗號(,)」、冒號(:)和類型轉換用的右圓括號())後要有一個空格
在用於行末註釋的//先後各要有一個空格
在聲明語句的類型和名稱之間要有一個空格,好比List<String> list
如下兩種初始化數組的形式都可接受:
new int[] {5, 6}
new int[] { 5, 6 }
除行首縮進、註釋和字符串內的空格之外,禁止使用連續的空格
用逗號(,)分隔每一個枚舉常量,也能夠用換行
enum Color { RED, GREEN, YELLOW } enum Action { CREATE, READ, UPDATE, DELETE }
必須用String[] args的方式來聲明數組,而非String args[]而。數組的初始化:
new int[] { 0, 1, 2, 3 } new int[] { 0, 1, 2, 3 } new int[] { 0, 1, 2, 3, }
統一註釋的風格
/* * 能夠 * 這樣 */ // 也能夠 // 這樣 /* 或者甚至 * 這樣 */
當同時使用多個修飾符時,按順序:
public protected private abstract static final transient volatile synchronized native strictfp
長整型數字必須使用大寫字母L結尾,不能使用小寫字母l,以便和數字1進行區分。例如使用3000000000L而不是3000000000l
禁止覆蓋(Override)Object.finalize方法
Javadoc格式
/** * Multiple lines of Javadoc text are written here, * wrapped normally... */ public int method(String p1) { ... }
/** * Represents .... * * <p>More details here */ public class XXX { ... } /** * Represents .... * * <p> * New line is allowed. */ public class XXX { ... }