真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java代碼聲明英文 java聲明什么意思

java編程規(guī)范?。。?/h2>

名稱 Java語言編碼規(guī)范(Java Code Conventions)

公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出相山免費(fèi)做網(wǎng)站回饋大家。

 簡介 本文檔講述了Java語言的編碼規(guī)范,較之陳世忠先生《c++編碼規(guī)范》的浩繁詳盡,此文當(dāng)屬短小精悍了。而其中所列之各項(xiàng)條款,從編碼風(fēng)格,到注意事項(xiàng),不單只Java,對于其他語言,也都很有借鑒意義。因?yàn)楹喍蹋砸子?,大家不妨將此作為handbook,常備案頭,逐一對驗(yàn)。

1 介紹

1.1 為什么要有編碼規(guī)范

1.2 版權(quán)聲明

2 文件名

2.1 文件后綴

2.2 常用文件名

3 文件組織

3.1 Java源文件

3.1.1 開頭注釋

3.1.2 包和引入語句

3.1.3 類和接口聲明

4 縮進(jìn)排版

4.1 行長度

4.2 換行

5 注釋

5.1 實(shí)現(xiàn)注釋的格式

5.1.1 塊注釋

5.1.2 單行注釋

5.1.3 尾端注釋

5.1.4 行末注釋

5.2 文擋注釋

6 聲明

6.1 每行聲明變量的數(shù)量

6.2 初始化

6.3 布局

6.4 類和接口的聲明

7 語句

7.1 簡單語句

7.2 復(fù)合語句

7.3 返回語句

7.4 if,if-else,if else-if else語句

7.5 for語句

7.6 while語句

7.7 do-while語句

7.8 switch語句

7.9 try-catch語句

8 空白

8.1 空行

8.2 空格

9 命名規(guī)范

10 編程慣例

10.1 提供對實(shí)例以及類變量的訪問控制

10.2 引用類變量和類方法

10.3 常量

10.4 變量賦值

10.5 其它慣例

10.5.1 圓括號

10.5.2 返回值

10.5.3 條件運(yùn)算符"?"前的表達(dá)式"?"前的表達(dá)式

10.5.4 特殊注釋

11 代碼范例

11.1 Java源文件范例

1 介紹(Introduction)

1.1 為什么要有編碼規(guī)范(Why Have Code Conventions)

編碼規(guī)范對于程序員而言尤為重要,有以下幾個(gè)原因:

- 一個(gè)軟件的生命周期中,80%的花費(fèi)在于維護(hù)

- 幾乎沒有任何一個(gè)軟件,在其整個(gè)生命周期中,均由最初的開發(fā)人員來維護(hù)

- 編碼規(guī)范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼

- 如果你將源碼作為產(chǎn)品發(fā)布,就需要確任它是否被很好的打包并且清晰無誤,一如你已構(gòu)建的其它任何產(chǎn)品

為了執(zhí)行規(guī)范,每個(gè)軟件開發(fā)人員必須一致遵守編碼規(guī)范。每個(gè)人。

1.2 版權(quán)聲明(Acknowledgments)

本文檔反映的是Sun MicroSystems公司,Java語言規(guī)范中的編碼標(biāo)準(zhǔn)部分。主要貢獻(xiàn)者包括:Peter King,Patrick Naughton,Mike DeMoney,Jonni Kanerva,Kathy Walrath以及Scott Hommel。

本文檔現(xiàn)由Scott Hommel維護(hù),有關(guān)評論意見請發(fā)至shommel@eng.sun.com

2 文件名(File Names)

這部分列出了常用的文件名及其后綴。

2.1 文件后綴(File Suffixes)

Java程序使用下列文件后綴:

文件類別 文件后綴

Java源文件 .java

Java字節(jié)碼文件 .class

2.2 常用文件名(Common File Names)

常用的文件名包括:

文件名 用途

GNUmakefile makefiles的首選文件名。我們采用gnumake來創(chuàng)建(build)軟件。

README 概述特定目錄下所含內(nèi)容的文件的首選文件名

3 文件組織(File Organization)

一個(gè)文件由被空行分割而成的段落以及標(biāo)識每個(gè)段落的可選注釋共同組成。超過2000行的程序難以閱讀,應(yīng)該盡量避免。"Java源文件范例"提供了一個(gè)布局合理的Java程序范例。

3.1 Java源文件(Java Source Files)

每個(gè)Java源文件都包含一個(gè)單一的公共類或接口。若私有類和接口與一個(gè)公共類相關(guān)聯(lián),可以將它們和公共類放入同一個(gè)源文件。公共類必須是這個(gè)文件中的第一個(gè)類或接口。

Java源文件還遵循以下規(guī)則:

- 開頭注釋(參見"開頭注釋")

- 包和引入語句(參見"包和引入語句")

- 類和接口聲明(參見"類和接口聲明")

3.1.1 開頭注釋(Beginning Comments)

所有的源文件都應(yīng)該在開頭有一個(gè)C語言風(fēng)格的注釋,其中列出類名、版本信息、日期和版權(quán)聲明:

/*

* Classname

*

* Version information

*

* Date

*

* Copyright notice

*/

3.1.2 包和引入語句(Package and Import Statements)

在多數(shù)Java源文件中,第一個(gè)非注釋行是包語句。在它之后可以跟引入語句。例如:

package java.awt;

import java.awt.peer.CanvasPeer;

3.1.3 類和接口聲明(Class and Interface Declarations)

下表描述了類和接口聲明的各個(gè)部分以及它們出現(xiàn)的先后次序。參見"Java源文件范例"中一個(gè)包含注釋的例子。

類/接口聲明的各部分 注解

1 類/接口文檔注釋(/**……*/) 該注釋中所需包含的信息,參見"文檔注釋"

2 類或接口的聲明

3 類/接口實(shí)現(xiàn)的注釋(/*……*/)如果有必要的話 該注釋應(yīng)包含任何有關(guān)整個(gè)類或接口的信息,而這些信息又不適合作為類/接口文檔注釋。

4 類的(靜態(tài))變量 首先是類的公共變量,隨后是保護(hù)變量,再后是包一級別的變量(沒有訪問修飾符,access modifier),最后是私有變量。

5 實(shí)例變量 首先是公共級別的,隨后是保護(hù)級別的,再后是包一級別的(沒有訪問修飾符),最后是私有級別的。

6 構(gòu)造器

7 方法 這些方法應(yīng)該按功能,而非作用域或訪問權(quán)限,分組。例如,一個(gè)私有的類方法可以置于兩個(gè)公有的實(shí)例方法之間。其目的是為了更便于閱讀和理解代碼。

4 縮進(jìn)排版(Indentation)

4個(gè)空格常被作為縮進(jìn)排版的一個(gè)單位??s進(jìn)的確切解釋并未詳細(xì)指定(空格 vs. 制表符)。一個(gè)制表符等于8個(gè)空格(而非4個(gè))。

4.1 行長度(Line Length)

盡量避免一行的長度超過80個(gè)字符,因?yàn)楹芏嘟K端和工具不能很好處理之。

注意:用于文檔中的例子應(yīng)該使用更短的行長,長度一般不超過70個(gè)字符。

4.2 換行(Wrapping Lines)

當(dāng)一個(gè)表達(dá)式無法容納在一行內(nèi)時(shí),可以依據(jù)如下一般規(guī)則斷開之:

- 在一個(gè)逗號后面斷開

- 在一個(gè)操作符前面斷開

- 寧可選擇較高級別(higher-level)的斷開,而非較低級別(lower-level)的斷開

- 新的一行應(yīng)該與上一行同一級別表達(dá)式的開頭處對齊

- 如果以上規(guī)則導(dǎo)致你的代碼混亂或者使你的代碼都堆擠在右邊,那就代之以縮進(jìn)8個(gè)空格。

以下是斷開方法調(diào)用的一些例子:

someMethod(longExpression1, longExpression2, longExpression3,

longExpression4, longExpression5);

var = someMethod1(longExpression1,

someMethod2(longExpression2,

longExpression3));

以下是兩個(gè)斷開算術(shù)表達(dá)式的例子。前者更好,因?yàn)閿嚅_處位于括號表達(dá)式的外邊,這是個(gè)較高級別的斷開。

longName1 = longName2 * (longName3 + longName4 - longName5)

+ 4 * longname6; //PREFFER

longName1 = longName2 * (longName3 + longName4

- longName5) + 4 * longname6; //AVOID

以下是兩個(gè)縮進(jìn)方法聲明的例子。前者是常規(guī)情形。后者若使用常規(guī)的縮進(jìn)方式將會(huì)使第二行和第三行移得很靠右,所以代之以縮進(jìn)8個(gè)空格

//CONVENTIONAL INDENTATION

someMethod(int anArg, Object anotherArg, String yetAnotherArg,

Object andStillAnother) {

...

}

//INDENT 8 SPACES TO AVOID VERY DEEP INDENTS

private static synchronized horkingLongMethodName(int anArg,

Object anotherArg, String yetAnotherArg,

Object andStillAnother) {

...

}

if語句的換行通常使用8個(gè)空格的規(guī)則,因?yàn)槌R?guī)縮進(jìn)(4個(gè)空格)會(huì)使語句體看起來比較費(fèi)勁。比如:

//DON’T USE THIS INDENTATION

if ((condition1 condition2)

|| (condition3 condition4)

||!(condition5 condition6)) { //BAD WRAPS

doSomethingAboutIt(); //MAKE THIS LINE EASY TO MISS

}

//USE THIS INDENTATION INSTEAD

if ((condition1 condition2)

|| (condition3 condition4)

||!(condition5 condition6)) {

doSomethingAboutIt();

}

//OR USE THIS

if ((condition1 condition2) || (condition3 condition4)

||!(condition5 condition6)) {

doSomethingAboutIt();

}

這里有三種可行的方法用于處理三元運(yùn)算表達(dá)式:

alpha = (aLongBooleanExpression) ? beta : gamma;

alpha = (aLongBooleanExpression) ? beta

: gamma;

alpha = (aLongBooleanExpression)

? beta

: gamma;

5 注釋(Comments)

Java程序有兩類注釋:實(shí)現(xiàn)注釋(implementation comments)和文檔注釋(document comments)。實(shí)現(xiàn)注釋是那些在C++中見過的,使用/*...*/和//界定的注釋。文檔注釋(被稱為"doc comments")是Java獨(dú)有的,并由/**...*/界定。文檔注釋可以通過javadoc工具轉(zhuǎn)換成HTML文件。

實(shí)現(xiàn)注釋用以注釋代碼或者實(shí)現(xiàn)細(xì)節(jié)。文檔注釋從實(shí)現(xiàn)自由(implementation-free)的角度描述代碼的規(guī)范。它可以被那些手頭沒有源碼的開發(fā)人員讀懂。

注釋應(yīng)被用來給出代碼的總括,并提供代碼自身沒有提供的附加信息。注釋應(yīng)該僅包含與閱讀和理解程序有關(guān)的信息。例如,相應(yīng)的包如何被建立或位于哪個(gè)目錄下之類的信息不應(yīng)包括在注釋中。

在注釋里,對設(shè)計(jì)決策中重要的或者不是顯而易見的地方進(jìn)行說明是可以的,但應(yīng)避免提供代碼中己清晰表達(dá)出來的重復(fù)信息。多余的的注釋很容易過時(shí)。通常應(yīng)避免那些代碼更新就可能過時(shí)的注釋。

注意:頻繁的注釋有時(shí)反映出代碼的低質(zhì)量。當(dāng)你覺得被迫要加注釋的時(shí)候,考慮一下重寫代碼使其更清晰。

注釋不應(yīng)寫在用星號或其他字符畫出來的大框里。注釋不應(yīng)包括諸如制表符和回退符之類的特殊字符。

5.1 實(shí)現(xiàn)注釋的格式(Implementation Comment Formats)

程序可以有4種實(shí)現(xiàn)注釋的風(fēng)格:塊(block)、單行(single-line)、尾端(trailing)和行末(end-of-line)。

5.1.1 塊注釋(Block Comments)

塊注釋通常用于提供對文件,方法,數(shù)據(jù)結(jié)構(gòu)和算法的描述。塊注釋被置于每個(gè)文件的開始處以及每個(gè)方法之前。它們也可以被用于其他地方,比如方法內(nèi)部。在功能和方法內(nèi)部的塊注釋應(yīng)該和它們所描述的代碼具有一樣的縮進(jìn)格式。

塊注釋之首應(yīng)該有一個(gè)空行,用于把塊注釋和代碼分割開來,比如:

/*

* Here is a block comment.

*/

塊注釋可以以/*-開頭,這樣indent(1)就可以將之識別為一個(gè)代碼塊的開始,而不會(huì)重排它。

/*-

* Here is a block comment with some very special

* formatting that I want indent(1) to ignore.

*

* one

* two

* three

*/

注意:如果你不使用indent(1),就不必在代碼中使用/*-,或?yàn)樗丝赡軐δ愕拇a運(yùn)行indent(1)作讓步。

參見"文檔注釋"

5.1.2 單行注釋(Single-Line Comments)

短注釋可以顯示在一行內(nèi),并與其后的代碼具有一樣的縮進(jìn)層級。如果一個(gè)注釋不能在一行內(nèi)寫完,就該采用塊注釋(參見"塊注釋")。單行注釋之前應(yīng)該有一個(gè)空行。以下是一個(gè)Java代碼中單行注釋的例子:

if (condition) {

/* Handle the condition. */

...

}

5.1.3 尾端注釋(Trailing Comments)

極短的注釋可以與它們所要描述的代碼位于同一行,但是應(yīng)該有足夠的空白來分開代碼和注釋。若有多個(gè)短注釋出現(xiàn)于大段代碼中,它們應(yīng)該具有相同的縮進(jìn)。

以下是一個(gè)Java代碼中尾端注釋的例子:

if (a == 2) {

return TRUE; /* special case */

} else {

return isPrime(a); /* works only for odd a */

}

5.1.4 行末注釋(End-Of-Line Comments)

注釋界定符"http://",可以注釋掉整行或者一行中的一部分。它一般不用于連續(xù)多行的注釋文本;然而,它可以用來注釋掉連續(xù)多行的代碼段。以下是所有三種風(fēng)格的例子:

if (foo 1) {

// Do a double-flip.

...

}

else {

return false; // Explain why here.

}

//if (bar 1) {

//

// // Do a triple-flip.

// ...

//}

//else {

// return false;

//}

5.2 文檔注釋(Documentation Comments)

注意:此處描述的注釋格式之范例,參見"Java源文件范例"

若想了解更多,參見"How to Write Doc Comments for Javadoc",其中包含了有關(guān)文檔注釋標(biāo)記的信息(@return, @param, @see):

若想了解更多有關(guān)文檔注釋和javadoc的詳細(xì)資料,參見javadoc的主頁:

文檔注釋描述Java的類、接口、構(gòu)造器,方法,以及字段(field)。每個(gè)文檔注釋都會(huì)被置于注釋定界符/**...*/之中,一個(gè)注釋對應(yīng)一個(gè)類、接口或成員。該注釋應(yīng)位于聲明之前:

/**

* The Example class provides ...

*/

public class Example { ...

注意頂層(top-level)的類和接口是不縮進(jìn)的,而其成員是縮進(jìn)的。描述類和接口的文檔注釋的第一行(/**)不需縮進(jìn);隨后的文檔注釋每行都縮進(jìn)1格(使星號縱向?qū)R)。成員,包括構(gòu)造函數(shù)在內(nèi),其文檔注釋的第一行縮進(jìn)4格,隨后每行都縮進(jìn)5格。

若你想給出有關(guān)類、接口、變量或方法的信息,而這些信息又不適合寫在文檔中,則可使用實(shí)現(xiàn)塊注釋(見5.1.1)或緊跟在聲明后面的單行注釋(見5.1.2)。例如,有關(guān)一個(gè)類實(shí)現(xiàn)的細(xì)節(jié),應(yīng)放入緊跟在類聲明后面的實(shí)現(xiàn)塊注釋中,而不是放在文檔注釋中。

文檔注釋不能放在一個(gè)方法或構(gòu)造器的定義塊中,因?yàn)镴ava會(huì)將位于文檔注釋之后的第一個(gè)聲明與其相關(guān)聯(lián)。

6 聲明(Declarations)

6.1 每行聲明變量的數(shù)量(Number Per Line)

推薦一行一個(gè)聲明,因?yàn)檫@樣以利于寫注釋。亦即,

int level; // indentation level

int size; // size of table

要優(yōu)于,

int level, size;

不要將不同類型變量的聲明放在同一行,例如:

int foo, fooarray[]; //WRONG!

注意:上面的例子中,在類型和標(biāo)識符之間放了一個(gè)空格,另一種被允許的替代方式是使用制表符:

int level; // indentation level

int size; // size of table

Object currentEntry; // currently selected table entry

6.2 初始化(Initialization)

盡量在聲明局部變量的同時(shí)初始化。唯一不這么做的理由是變量的初始值依賴于某些先前發(fā)生的計(jì)算。

6.3 布局(Placement)

只在代碼塊的開始處聲明變量。(一個(gè)塊是指任何被包含在大括號"{"和"}"中間的代碼。)不要在首次用到該變量時(shí)才聲明之。這會(huì)把注意力不集中的程序員搞糊涂,同時(shí)會(huì)妨礙代碼在該作用域內(nèi)的可移植性。

void myMethod() {

int int1 = 0; // beginning of method block

if (condition) {

int int2 = 0; // beginning of "if" block

...

}

}

該規(guī)則的一個(gè)例外是for循環(huán)的索引變量

for (int i = 0; i maxLoops; i++) { ... }

避免聲明的局部變量覆蓋上一級聲明的變量。例如,不要在內(nèi)部代碼塊中聲明相同的變量名:

int count;

...

myMethod() {

if (condition) {

int count = 0; // AVOID!

...

}

...

}

6.4 類和接口的聲明(Class and Interface Declarations)

當(dāng)編寫類和接口是,應(yīng)該遵守以下格式規(guī)則:

- 在方法名與其參數(shù)列表之前的左括號"("間不要有空格

- 左大括號"{"位于聲明語句同行的末尾

- 右大括號"}"另起一行,與相應(yīng)的聲明語句對齊,除非是一個(gè)空語句,"}"應(yīng)緊跟在"{"之后

class Sample extends Object {

int ivar1;

int ivar2;

Sample(int i, int j) {

ivar1 = i;

ivar2 = j;

}

int emptyMethod() {}

...

}

- 方法與方法之間以空行分隔

7 語句(Statements)

7.1 簡單語句(Simple Statements)

每行至多包含一條語句,例如:

argv++; // Correct

argc--; // Correct

argv++; argc--; // AVOID!

7.2 復(fù)合語句(Compound Statements)

復(fù)合語句是包含在大括號中的語句序列,形如"{ 語句 }"。例如下面各段。

- 被括其中的語句應(yīng)該較之復(fù)合語句縮進(jìn)一個(gè)層次

- 左大括號"{"應(yīng)位于復(fù)合語句起始行的行尾;右大括號"}"應(yīng)另起一行并與復(fù)合語句首行對齊。

- 大括號可以被用于所有語句,包括單個(gè)語句,只要這些語句是諸如if-else或for控制結(jié)構(gòu)的一部分。這樣便于添加語句而無需擔(dān)心由于忘了加括號而引入bug。

7.3 返回語句(return Statements)

一個(gè)帶返回值的return語句不使用小括號"()",除非它們以某種方式使返回值更為顯見。例如:

return;

return myDisk.size();

return (size ? size : defaultSize);

7.4 if,if-else,if else-if else語句(if, if-else, if else-if else Statements)

if-else語句應(yīng)該具有如下格式:

if (condition) {

statements;

}

if (condition) {

statements;

} else {

statements;

}

if (condition) {

statements;

} else if (condition) {

statements;

} else{

statements;

}

注意:if語句總是用"{"和"}"括起來,避免使用如下容易引起錯(cuò)誤的格式:

if (condition) //AVOID! THIS OMITS THE BRACES {}!

statement;

7.5 for語句(for Statements)

一個(gè)for語句應(yīng)該具有如下格式:

for (initialization; condition; update) {

statements;

}

一個(gè)空的for語句(所有工作都在初始化,條件判斷,更新子句中完成)應(yīng)該具有如下格式:

for (initialization; condition; update);

當(dāng)在for語句的初始化或更新子句中使用逗號時(shí),避免因使用三個(gè)以上變量,而導(dǎo)致復(fù)雜度提高。若需要,可以在for循環(huán)之前(為初始化子句)或for循環(huán)末尾(為更新子句)使用單獨(dú)的語句。

7.6 while語句(while Statements)

一個(gè)while語句應(yīng)該具有如下格式

while (condition) {

statements;

}

一個(gè)空的while語句應(yīng)該具有如下格式:

while (condition);

7.7 do-while語句(do-while Statements)

一個(gè)do-while語句應(yīng)該具有如下格式:

do {

statements;

} while (condition);

7.8 switch語句(switch Statements)

一個(gè)switch語句應(yīng)該具有如下格式:

switch (condition) {

case ABC:

statements;

/* falls through */

case DEF:

statements;

break;

case XYZ:

statements;

break;

default:

statements;

break;

}

每當(dāng)一個(gè)case順著往下執(zhí)行時(shí)(因?yàn)闆]有break語句),通常應(yīng)在break語句的位置添加注釋。上面的示例代碼中就包含注釋/* falls through */。

7.9 try-catch語句(try-catch Statements)

一個(gè)try-catch語句應(yīng)該具有如下格式:

try {

statements;

} catch (ExceptionClass e) {

statements;

}

一個(gè)try-catch語句后面也可能跟著一個(gè)finally語句,不論try代碼塊是否順利執(zhí)行完,它都會(huì)被執(zhí)行。

try {

statements;

} catch (ExceptionClass e) {

statements;

} finally {

statements;

}

8 空白(White Space)

8.1 空行(Blank Lines)

空行將邏輯相關(guān)的代碼段分隔開,以提高可讀性。

下列情況應(yīng)該總是使用兩個(gè)空行:

- 一個(gè)源文件的兩個(gè)片段(section)之間

- 類聲明和接口聲明之間

下列情況應(yīng)該總是使用一個(gè)空行:

- 兩個(gè)方法之間

- 方法內(nèi)的局部變量和方法的第一條語句之間

- 塊注釋(參見"5.1.1")或單行注釋(參見"5.1.2")之前

- 一個(gè)方法內(nèi)的兩個(gè)邏輯段之間,用以提高可讀性

8.2 空格(Blank Spaces)

下列情況應(yīng)該使用空格:

- 一個(gè)緊跟著括號的關(guān)鍵字應(yīng)該被空格分開,例如:

while (true) {

...

}

注意:空格不應(yīng)該置于方法名與其左括號之間。這將有助于區(qū)分關(guān)鍵字和方法調(diào)用。

- 空白應(yīng)該位于參數(shù)列表中逗號的后面

- 所有的二元運(yùn)算符,除了".",應(yīng)該使用空格將之與操作數(shù)分開。一元操作符和操作數(shù)之間不因該加空格,比如:負(fù)號("-")、自增("++")和自減("--")。例如:

a += c + d;

a = (a + b) / (c * d);

while (d++ = s++) {

n++;

}

printSize("size is " + foo + "\n");

- for語句中的表達(dá)式應(yīng)該被空格分開,例如:

for (expr1; expr2; expr3)

- 強(qiáng)制轉(zhuǎn)型后應(yīng)該跟一個(gè)空格,例如:

myMethod((byte) aNum, (Object) x);

myMethod((int) (cp + 5), ((int) (i + 3)) + 1);

9 命名規(guī)范(Naming Conventions)

命名規(guī)范使程序更易讀,從而更易于理解。它們也可以提供一些有關(guān)標(biāo)識符功能的信息,以助于理解代碼,例如,不論它是一個(gè)常量,包,還是類。

標(biāo)識符類型 命名規(guī)則 例子

包(Packages) 一個(gè)唯一包名的前綴總是全部小寫的ASCII字母并且是一個(gè)頂級域名,通常是com,edu,gov,mil,net,org,或1981年ISO 3166標(biāo)準(zhǔn)所指定的標(biāo)識國家的英文雙字符代碼。包名的后續(xù)部分根據(jù)不同機(jī)構(gòu)各自內(nèi)部的命名規(guī)范而不盡相同。這類命名規(guī)范可能以特定目錄名的組成來區(qū)分部門(department),項(xiàng)目(project),機(jī)器(machine),或注冊名(login names)。 com.sun.eng

com.apple.quicktime.v2

edu.cmu.cs.bovik.cheese

類(Classes) 命名規(guī)則:類名是個(gè)一名詞,采用大小寫混合的方式,每個(gè)單詞的首字母大寫。盡量使你的類名簡潔而富于描述。使用完整單詞,避免縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML) class Raster;

class ImageSprite;

接口(Interfaces) 命名規(guī)則:大小寫規(guī)則與類名相似 interface RasterDelegate;

interface Storing;

方法(Methods) 方法名是一個(gè)動(dòng)詞,采用大小寫混合的方式,第一個(gè)單詞的首字母小寫,其后單詞的首字母大寫。 run();

runFast();

getBackground();

變量(Variables) 除了變量名外,所有實(shí)例,包括類,類常量,均采用大小寫混合的方式,第一個(gè)單詞的首字母小寫,其后單詞的首字母大寫。變量名不應(yīng)以下劃線或美元符號開頭,盡管這在語法上是允許的。

變量名應(yīng)簡短且富于描述。變量名的選用應(yīng)該易于記憶,即,能夠指出其用途。盡量避免單個(gè)字符的變量名,除非是一次性的臨時(shí)變量。臨時(shí)變量通常被取名為i,j,k,m和n,它們一般用于整型;c,d,e,它們一般用于字符型。 char c;

int i;

float myWidth;

實(shí)例變量(Instance Variables) 大小寫規(guī)則和變量名相似,除了前面需要一個(gè)下劃線 int _employeeId;

String _name;

Customer _customer;

常量(Constants) 類常量和ANSI常量的聲明,應(yīng)該全部大寫,單詞間用下劃線隔開。(盡量避免ANSI常量,容易引起錯(cuò)誤) static final int MIN_WIDTH = 4;

static final int MAX_WIDTH = 999;

static final int GET_THE_CPU = 1;

10 編程慣例(Programming Practices)

10.1 提供對實(shí)例以及類變量的訪問控制(Providing Access to Instance and Class Variables)

若沒有足夠理由,不要把實(shí)例或類變量聲明為公有。通常,實(shí)例變量無需顯式的設(shè)置(set)和獲取(gotten),通常這作為方法調(diào)用的邊緣效應(yīng) (side effect)而產(chǎn)生。

一個(gè)具有公有實(shí)例變量的恰當(dāng)例子,是類僅作為數(shù)據(jù)結(jié)構(gòu),沒有行為。亦即,若你要使用一個(gè)結(jié)構(gòu)(struct)而非一個(gè)類(如果java支持結(jié)構(gòu)的話),那么把類的實(shí)例變量聲明為公有是合適的。

java語法基礎(chǔ),具體內(nèi)容

Java基礎(chǔ)——Java開發(fā)前奏

Java的特點(diǎn)

Java最主要的特點(diǎn)是:一次編譯,到處運(yùn)行(Write?Once,?Run?Anywhere.)。

原理:Java源程序經(jīng)編譯后生成.class字節(jié)碼文件,.class文件由Java虛擬機(jī)(JVM)解釋執(zhí)行。不同的操作系統(tǒng)下,只要有相應(yīng)的Java字節(jié)碼解釋程序,.class文件就能夠運(yùn)行,這是Java跨平臺性的根本。c和java編程與執(zhí)行的過程如下圖所示:

Java的內(nèi)涵

1、是一種編程語言

2、是一套開發(fā)工具

3、是一個(gè)運(yùn)行環(huán)境

Java應(yīng)用平臺

1、J2EE(Java?2?Platform?Enterprise?Edition)——用于企業(yè)級應(yīng)用程序的開發(fā)

2、J2SE(Java?2?Platform?Standard?Edition)——用于普通標(biāo)準(zhǔn)應(yīng)用程序的開發(fā)

3、J2ME(Java?2?Platform?Micro?Edition)——用于小型消費(fèi)類電子產(chǎn)品或嵌入式系統(tǒng)的開發(fā)

J2SE包括4部分——JVM、JRE、JDK與Java語言。

環(huán)境變量的設(shè)置

環(huán)境變量——在操作系統(tǒng)中定義的變量,可供操作系統(tǒng)上所有的應(yīng)用程序使用。

1、查看環(huán)境變量

a.命令提示行:環(huán)境變量的命令——set?(環(huán)境變量名)

b.窗口方式:我的電腦-屬性-高級-環(huán)境變量

2、設(shè)置path環(huán)境變量

path環(huán)境變量的作用:設(shè)置操作系統(tǒng)尋找和執(zhí)行應(yīng)用程序的路徑。

JAVA_HOME:C:\Program?Files\Java\jdk1.6.0_14

path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

3、設(shè)置classpath環(huán)境變量

classpath環(huán)境變量的作用:讓Java執(zhí)行環(huán)境找到指定的java程序(.class文件)。

classpath:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

注意:a.%JAVA_HOME%前面有“.;”,“.”表示當(dāng)前目錄,兩個(gè)路徑之間用“;”隔開。

b.設(shè)置classpath的路徑中不能有空格,也不能有中文字符。

JVM的運(yùn)行過程

Java反編譯工具——JAD、FrontEnd

Java開發(fā)工具

1、記事本

注意保存時(shí)文件名應(yīng)為*.java。

2、UltraEdit、EditPlus

使用EditPlus編輯和編譯Java程序,需要進(jìn)行相應(yīng)配置。選擇“工具”-“參數(shù)選擇”-“工具”-“用戶工具”-“添加工具”-“應(yīng)用程序”。首先設(shè)置“javac”的參數(shù),具體如下圖,其中“命令”為javac.exe文件的地址。

然后設(shè)置“java”的參數(shù),如下圖所示,其中“命令”為java.exe文件的路徑。

設(shè)置好后默認(rèn)“javac”工具的快捷鍵為Ctrl+1,“java”工具的快捷鍵為Ctrl+2。當(dāng)編輯好Java源程序后,使用Ctrl+1即可對其進(jìn)行編譯,然后按Ctrl+2運(yùn)行程序。如下圖所示:

3、集成開發(fā)環(huán)境——Eclipse、MyEclipse、JBuilder等。

關(guān)于Eclipse和MyEclipse,剛用的時(shí)候感覺二者差不多,查了資料才知道Eclipse?是基礎(chǔ),如同操作系統(tǒng);而MyEclipse是在Eclipse上面運(yùn)行的程序,不過進(jìn)行了增強(qiáng)并提供了新功能。

以前用過Microsoft的Visual?Studio?2005,個(gè)人感覺VS2005是一個(gè)功能非常強(qiáng)大的集成開發(fā)環(huán)境,不過.NET和Java畢竟不是一家人,學(xué)Java還是要用Eclipse的。

JDK中的常用包

1、java.lang——包含一些Java語言的核心類,如String、Math、Thread、System、Integer類等。

2、java.awt——包含構(gòu)成抽象窗口工具集的多個(gè)類,用來構(gòu)建和管理應(yīng)用程序的圖形用戶界面(GUI)。

3、java.applet——包含applet運(yùn)行所需的一些類。

4、java.net——包含執(zhí)行與網(wǎng)絡(luò)相關(guān)操作的類。

5、java.io——包含能提供多種輸入/輸出功能的類。

6、java.util——包含一些實(shí)用工具類。

Java的命名習(xí)慣

1、包名中的字母一律小寫。如:xxxyyyzzz。

2、類名、接口名應(yīng)使用名詞,每個(gè)單詞的首字母大寫。如:XxxYyyZzz。

3、方法名,第一個(gè)單詞小寫,后面每個(gè)單詞的首字母大寫。如:xxxYyyZzz。

4、變量名,第一個(gè)單詞小寫,后面每個(gè)單詞的首字母大寫。

5、常量名中的每個(gè)字母一律大寫。如:XXXYYYZZZ。

Java基礎(chǔ)——Java語法基礎(chǔ)(1)

Java代碼基本格式

Java中所有程序代碼都必須存在于一個(gè)類中,用class關(guān)鍵字定義類,在class之前可以有一些修飾符。格式如下:

修飾符?class?類名

{

程序代碼

}

注:

1、Java是嚴(yán)格區(qū)分大小寫的。

2、Java程序中一句連續(xù)的字符串不能分開在兩行中寫。

Java程序的注釋

Java里的注釋有三種類型:

1、單行注釋

在注釋內(nèi)容前面加“//”,格式為:

代碼;??//注釋內(nèi)容

2、多行注釋

以斜杠加星號開頭,以星號加斜杠結(jié)尾。

3、文檔注釋

以斜杠加兩個(gè)星號開頭,以一個(gè)星號加斜杠結(jié)束。

用這種方法注釋的內(nèi)容會(huì)被解釋成程序的正式文檔,并能包含進(jìn)諸如javadoc之類的工具程序生成的文檔里,用以說明該程序的層次結(jié)構(gòu)及其方法。

補(bǔ)充:

1、多行注釋中可以嵌套“//”注釋,但不能嵌套多行注釋符號。

2、程序注釋一般占程序代碼總量的20%-50%,“可讀性第一,效率第二”。

Java中的標(biāo)識符

Java中的包、類、方法、參數(shù)、變量的名字,可以由任意順序的大小寫字母、數(shù)字、下劃線(_)、美元符號($)組成,但不能以數(shù)字開頭,不能是Java中的保留關(guān)鍵字。

Java的關(guān)鍵字

1、用于類和接口的聲明:class,?extends,?implements,?interface

2、包引入和包聲明:import,?package

3、數(shù)據(jù)類型:byte,?boolean,?char,?double,?int,?long,?float,?short

4、某些數(shù)據(jù)類型的可選值:flase,?ture,?null

5、流程控制:break,?case,?continue,?default,?do,?else,?for,?if,?return,?switch,?while

6、異常處理:catch,?finally,?throw,?throws,?try

7、修飾符:abstract,?final,?native,?private,?protected,?public,?static,?synchronilzed,?transient,?volatitle

8、操作符:instanceof

9、創(chuàng)建對象:?new

10、引用:this,?supper

11、方法返回類型:void

12、保留字:const,?goto

Java中的常量

1、整形常量

十進(jìn)制

十六進(jìn)制——以0x或0X開頭

八進(jìn)制——以0開頭

長整形——以L(l)結(jié)尾

2、浮點(diǎn)數(shù)常量

單精度浮點(diǎn)數(shù)——后面加f(F)

雙精度浮點(diǎn)數(shù)——后面加d(D)

注:

a.小數(shù)常量的默認(rèn)類型是double型,所以float類型常量后一定要加f(F)。

b.浮點(diǎn)數(shù)常量可以用指數(shù)形式表示,如5.022e+23f

3、布爾常量

true或false

4、字符常量

由英文字母、數(shù)字、轉(zhuǎn)義序列、特殊字符等的字符所表示,如'a'、'\t'等。

Java中的字符占兩個(gè)字節(jié),是用Unicode碼表示的,也可以使用'\u'加Unicode碼值來表示對應(yīng)字符,如'\u0027'。

常用的轉(zhuǎn)義字符有:

\t——表示接受鍵盤輸入,相當(dāng)于按了一下回車鍵

\n——表示換行

\t——表示制表符,相當(dāng)于Tab鍵

\b——表示退格鍵,相當(dāng)于Back?Space鍵

\'——表示單引號

\”——表示雙引號

\\——表示反斜杠“\”

5、字符串常量

字符串常量用雙引號括起來。

6、null常量

null常量表示對象的引用為空。

Java的變量類型

基本數(shù)據(jù)類型之間的轉(zhuǎn)換

1、自動(dòng)類型轉(zhuǎn)換(隱式類型轉(zhuǎn)換)

條件:

a.兩種類型彼此兼容

b.目標(biāo)類型的取值范圍要大于源類型

2、強(qiáng)制類型轉(zhuǎn)換(顯示類型轉(zhuǎn)換)

格式:目標(biāo)類型?常量?=?(目標(biāo)類型)值

注:字符串可以使用加號“+”同其他的數(shù)據(jù)類型相連而形成一個(gè)新的字符串。

變量的作用域

代碼塊決定了變量的作用域,作用域決定了變量的可見性和存在時(shí)間。

局部變量

在一個(gè)函數(shù)或函數(shù)里面的代碼塊中定義的變量稱為局部變量。

局部變量在進(jìn)行取值操作前必須被初始化或進(jìn)行過賦值操作。

函數(shù)

1、定義函數(shù)的格式

返回值類型?函數(shù)名(參數(shù)類型?形式參數(shù)1,參數(shù)類型形式參數(shù)2,...)

{

程序代碼

return?返回值;

}

2、函數(shù)的重載

函數(shù)的重載就是在一個(gè)類中可以同時(shí)存在一個(gè)以上的同名函數(shù),只要它們的參數(shù)個(gè)數(shù)或類型不同即可。

Java基礎(chǔ)——Java語法基礎(chǔ)(2)——運(yùn)算符

Java中的運(yùn)算符

1、算術(shù)運(yùn)算符

a.字符串?+?其他類型?=?字符串

b.如果對負(fù)數(shù)求余,可以把除數(shù)負(fù)號忽略不計(jì),如5?%?-1?=?1。但如果被除數(shù)是負(fù)數(shù)就另當(dāng)別論了。

2、賦值運(yùn)算符

a.在Java中,可以把賦值語句連在一起,如:x?=?y?=?z?=?5;

b.x?+=?y相當(dāng)于x?=?x?+?y

3、比較運(yùn)算符

a.要注意比較運(yùn)算符“==”和賦值運(yùn)算符“=”的區(qū)別,特別是布爾型變量進(jìn)行比較時(shí)。

b.可以將比較運(yùn)算的表達(dá)式寫為“false?==?變量”的形式,以防止誤寫為賦值運(yùn)算。

4、邏輯運(yùn)算符

a.邏輯運(yùn)算符用于對boolean型結(jié)果的表達(dá)式進(jìn)行運(yùn)算,運(yùn)算的結(jié)果都是boolean型?。

b.“”和“”的區(qū)別在于,如果使用前者連接,那么無論任何情況,“”兩邊的表達(dá)式都會(huì)參與計(jì)算。如果使用后者連接,當(dāng)“”的左邊為false,則將不會(huì)計(jì)算其右邊的表達(dá)式?!皘”和“||”的區(qū)別與“”和“”的區(qū)別一樣。

5、位運(yùn)算符

位運(yùn)算——對數(shù)據(jù)按二進(jìn)制位進(jìn)行移位操作。

適用類型:byte,?short,?char,?int,?long

位運(yùn)算包括:

位與

|?位或

^?位異或

左移,左移n位相當(dāng)于乘以2的n次方

右移,右移n位相當(dāng)于除以2的n次方

無符號右移

注:

a.位運(yùn)算符也可以與“=”賦值運(yùn)算符組合產(chǎn)生新的賦值運(yùn)算符,如:=,?=等。

b.移位不會(huì)改變變量本身的值,如a1在一行語句中單獨(dú)存在毫無意義。

c.對低于int型的操作數(shù)將先自動(dòng)轉(zhuǎn)換為int型再移位;對int型整數(shù)移位ab,系統(tǒng)先將b對32取模,得到的結(jié)果才是真正移位的位數(shù);對于long型整數(shù)移位時(shí)則是先將移位位數(shù)對64取模。

運(yùn)算符的優(yōu)先級

編程技巧:

1、不要在一行中編寫太復(fù)雜的表達(dá)式,可以將其分解為幾條語句。

2、多用括號。

Java基礎(chǔ)——Java語法基礎(chǔ)(3)

程序控制流程

1、順序結(jié)構(gòu)

按順序執(zhí)行

2、if條件語句

a.if...

b.if...else...

可簡寫為:變量?=?布爾表達(dá)式??語句1:語句2;

c.if...else?if...else...

3、switch選擇語句

switch(表達(dá)式)

{

case?取值1:

語句塊1;

break;

...

case?取值n:

語句塊n;

break;

default:

語句塊n+1;

break;

}

4、while循環(huán)語句

while(條件表達(dá)式)

{

執(zhí)行語句

}

5、do?while循環(huán)語句

do

{

執(zhí)行語句

}while(條件表達(dá)式)

6、for循環(huán)語句

for(初始化表達(dá)式;循環(huán)條件表達(dá)式;循環(huán)后操作表達(dá)式)

{

執(zhí)行語句

}

7、增強(qiáng)for循環(huán)

for?(循環(huán)變量類型?循環(huán)變量名稱:?要被遍歷的對象)

{

執(zhí)行語句

}

8、break與continue語句

a.一個(gè)無標(biāo)號的break語句會(huì)把控制傳回當(dāng)前最內(nèi)層循環(huán)(while,do,for,switch)的下一條語句。

b.無標(biāo)號的continue語句的作用是跳過當(dāng)前循環(huán)的剩余語句塊,接著執(zhí)行下一次循環(huán)。

數(shù)組

1、數(shù)組的定義

如:int[]?x?=?new?int[100];

或int?x[]?=?new?int[100];

2、數(shù)組的靜態(tài)初始化

如:int[]?aa?=?new?int[]?{3,4,5};

3、多維數(shù)據(jù)

如:

int[][]?xx?=?new?int[3][];

xx[0]?=?new?int[3];

xx[1]?=?new?int[2];

4、一些與數(shù)組相關(guān)的函數(shù)

a.?System.arraycopy(Object?src,int?srcPos,Object?dest,int?destPos,int?length)復(fù)制數(shù)組,將源數(shù)組srcPos開始的length個(gè)元素從目標(biāo)數(shù)組的destPos位置開始存儲(chǔ)。

b.?Array.sort()數(shù)組升序排序

java輸入字母用什么聲明

java輸入字母用聲明:先輸入英文字母,然后得到該英文字母的ASCII碼,再轉(zhuǎn)成int類型。

Scanner input = new Scanner(System.in);String str = input.next();if(str.length1){System.out.print("輸入不合法!");}else{for(int i=0;iletters.length;i++){letters[i]=str.charAt(0);}}。

java簡單性:

Java看起來設(shè)計(jì)得很像C++,但是為了使語言小和容易熟悉,設(shè)計(jì)者們把C++語言中許多可用的特征去掉了,這些特征是一般程序員很少使用的。例如,Java不支持goto語句,代之以提供break和continue語句以及異常處理。

Java還剔除了C++的操作符過載(overload)和多繼承特征,并且不使用主文件,免去了預(yù)處理程序。因?yàn)镴ava沒有結(jié)構(gòu),數(shù)組和串都是對象,所以不需要指針。Java能夠自動(dòng)處理對象的引用和間接引用,實(shí)現(xiàn)自動(dòng)的無用單元收集。

如何編寫java代碼,點(diǎn)英文按鈕是界面的中文都變成英文,也就是使其國際化,這個(gè)是eclipse做的

手動(dòng)寫按鈕的事件監(jiān)聽器,在里面修改每個(gè)組件的文字就可以了。


文章題目:java代碼聲明英文 java聲明什么意思
當(dāng)前路徑:http://weahome.cn/article/doicoes.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部