從零基礎學習Java 要知道Java中的一些規則

coffee801發表於2017-05-18

從零基礎學習Java 要知道Java中的一些規則,明白這些規則,對學習Java有很大的幫助。

從零基礎學習Java 要知道Java中的一些規則

1、訪問例項與類中變數的規則

一般情況下,都不要將類中的變數宣告為公共型別(public),除非設計要求如此,如果變數不是公共型別的,這樣職能通過public型別方法去訪問相關變數,例如:getXX()方法等。如果你建立的類中沒有熱核和行為為()方法,此時你不得不將這個類中的變數宣告

為公共(public)型別,以供外界訪問。

2、引用類中的靜態變數與方法的規則

當你試圖在你的程式碼中引用類的靜態方法或靜態成員變數時,不要通過該類的例項物件引用它們,儘管這樣是允許的。你應該通過類來引用它們,如下所示的程式碼:

public static classMethod();

MyClass.classMethod(); //正確

myObject.classMethod(); //不正確(應該避免)

如果你想學習Java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裡面有大量的學習資料可以下載。

3、變數賦值規則

儘量避免在一個當行語句中將一個變數賦多個值,這樣將是程式碼變得艱澀、難懂,

例如下面的程式碼:

userName=user1.name=‘jerry lin‘; //這種賦值方式應儘量避免

儘量避免對一元表示式的賦值,例如下面的程式碼在Java中是絕對不允許的;

if(i++=m++){

...

}

當然可以修改為下面的方式,便可以逃避語法錯誤,不過這是不被推薦使用的:

if((c++=d++)!=0){

...

}

計量避免巢狀賦值,這樣會浪費編譯器較多的時間,例如下面的程式碼:

d=(a=b+c)+r;

上面的賦值應修改為下面的方式:

a=b+c;

d=a+r;

從零基礎學習Java 要知道Java中的一些規則

FX:綜合規則

括號規則

應儘量使用括號()來界定表示式的結合順序,避免由於運算子優先順序的問題而導致非主觀意圖錯誤,即使你對運算子優先順序比較瞭解而且程式碼看起來也比較清晰,但是其

他程式設計師看這段程式碼未必像你一樣清楚,例如下面的程式碼:

if(i==j&&m==n) //應儘量避免

if((i==j)&&(m==n)) //正確

返回值規則

應計量使程式結構與你的意圖匹配,例如:

if(isTrue){

return true;

}else{

return false;

}

上面的程式有些“受累不討好”的感覺,應該修改為:

return isTrue;

相似的有,

if(condition){

return x;

}

return y;

應該修改為:

return(condition?x:y);

特殊註釋規則

你可以在程式中通過一些特殊註釋來表示你的虛擬碼,例如,用EXECUTE表示該程式碼有問題但是可執行,用FIXME表示程式碼有問題切不可執行

例如下面的程式碼:

if(isTrue){

//EXECUTE

int i=0;

i++;

}else{

//FIXME 因為i沒有被宣告

i++;

}

4、常量的命名規則

Java中的常量一般採用大寫字母單詞命名,單詞與單詞之間用下劃線(_)加以分割,這符合ANSI的常量命名規則

如下所示的程式碼:

static final int MIN_WIDTH=14;

static final int MAX_WIDTH=1000;

static final intGET_THE_MEMORTY=128;

5、變數的命名規則

變數的命名規則是,除了變數(variable),所有物件的例項(instance),類(class)與類的敞亮(constant)的第一個字母應該小寫,在多個單詞混合的情況下第一個單詞後

的所有單詞的第一個字母大寫,區域字母小寫的規則外。變數的第一個字母即使系統允許,也不要為_或者$。變數名字因該緊湊而有意義。變數的名字應該是易記憶、易於理解的,及時進個較長的時間也可以依其名而知其意。另外單自負的變數名應該儘量避免,除非臨時變數,例如,一些整數字符臨時變數:i,j,k,m,n等以及單字元變數:c,d,e等,

如下所示程式碼:

int i;

char c;

float imageWidth;

從零基礎學習Java 要知道Java中的一些規則

6、方法的命名規則

方法一般來說都是動詞,第一個字母應該小寫,在多個單詞混合的情況下,第一個單詞後的所有單詞的第一個字母大寫,其餘字母小寫

例如下面的程式碼:

run();

runFast();

getBackground();

在方法的宣告部分,通常要提供對方法功能的描述,以及方法中返回值與引數的說明

例如下面的程式碼:

/**

* 顯示系統資訊方法

* @param message 系統資訊引數

* @return message 返回系統資訊

*/

public String showMessage(String message) {

...

//statements;

...

return message;

}

如果該方法在軟體產品的不斷升級中已經不被建議使用了,可以通過在方法宣告註釋

福分新增關鍵字@deprecate實現。

7、程式碼長度與拆行規則

程式碼行長度

一般來說Java的程式碼行長度應該小於80個字元,超過這個長度可能在一些開發工具或編輯器上無法很好的顯示,而且也會給閱讀程式帶來麻煩。因此,我們應儘量避免超過80個字元長度的程式碼行。在一些文件編輯器中慣用長度普遍為70個字元左右。

拆行規則

當完整的一行程式碼難以編排在統一個程式碼行中時,我們可以根據下面的規則,對Java原始碼進行拆行編排:

(1)在逗號後拆行

(2)在運算子(operator)前拆行

(3)高層拆行優於低層拆行

(4)拆下的程式碼行應該與其同登記的程式碼行左對齊

(5)如果上面的法則令程式碼行右側距頁邊的距離,差距較大並且混亂,我們可以在適當行採用Tab鍵(8空格鍵)處理.

相關文章