當前位置:
首頁 > 知識 > 從零基礎學習Java 要知道Java中的一些規則

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

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

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

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

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

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

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

public static classMethod();

MyClass.classMethod(); //正確

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

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;

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;

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空格鍵)處理.


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

Java並發編程實戰:線程基本概念
java新手學習 路線方向
IT行業這麼熱,可是不是每個人都能幹程序員這一行
搞IT不等於程序猿!為什麼大家都想進入IT行業?
編程語言是部車,你選了其中哪輛?

TAG:java學習吧 |

您可能感興趣

大數據Hadoop和Spark哪個更重要一些?內含學習資料
基於對比學習的Image Captioning
強化學習 2 Markov Decision Process 馬可夫決策過程
DeepMind高管回答:Alpha zero 的強化學習是否真的不要訓練數據?
詳解深度學習中的 Normalization,不只是 BN
深度學習之CapsuleNets理論與Python實踐!
學習篇/Jimmy Kimmel and Oscars Stars Surprise Moviegoers
深度學習的爆發要歸功給誰?Yann LeCun、Fran?ois Chollet各執一詞
說說為什麼選擇Paddlepaddle而不是TensorFlow | 深度學習公開課
Tomaso Poggio:深度學習需要從鍊金術走向化學
讀National Geography Kids有感:和孩子一起學習,一起成長
使用TensorFlow,Kafka和MemSQL進行實時機器學習
深度強化學習-Policy Gradient基本實現
Reliance Industries收購印度個性化學習平台Embibe
學習通分的遊戲:Fraction Formula Game
真實全景圖像強化學習 AI 平台——Matterport3DSimulator
如何學習Low Poly Style?
英特爾宣布Windows機器學習Movidius Myriad X VPU
Michael I.Jordan 撰文:不要被深度學習一葉障目不見泰山
Michael I.Jordan 撰文:不要被深度學習一葉障目不見泰山