久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Java編程入門(2.1):基礎(chǔ)Java應(yīng)用程序

 yy99k 2017-09-14
本文由 ImportNew - 顧星竹 翻譯自 math.,。歡迎加入翻譯小組,。轉(zhuǎn)載請見文末要求。

程序是指可以通過計算機執(zhí)行一系列指令組成的任務(wù),。一個簡單的想法,,但是計算機運行任何指令都必須按照計算機可以使用的方式編寫。這意味著,程序必須使用編程語言編寫,。編程語言區(qū)別于普通人類語言的地方在于它完全明確并且對程序中允許和不允許的定義都非常嚴(yán)格,。確定哪些是被允許的規(guī)則被稱為語言的語法。語法詳細(xì)說明了語言的基本詞匯以及如何使用循環(huán),、分支和子程序來組建程序,。一個語法正確的程序是可以被成功的編譯或執(zhí)行的;有語法錯誤的程序會被駁回(希望可以返回有用的錯誤信息以幫助你改正問題),。

因此,,要做一個成功的程序員,你必須對你使用的編程語言的語法有詳細(xì)的了解,。然而,,語法只是一部分,對于寫一個可以運行并且返回正確結(jié)果的程序而言并不足夠,!此外,,程序的含義必須正確。程序的含義被稱為語義,。更準(zhǔn)確的說,,編程語言的語義是指決定使用這個語言所編寫的程序含義的一系列規(guī)則。一個語義正確的程序可以完成你希望它完成的功能,。

進一步說,一個語法和語義正確的程序可能依然是一個很糟糕的程序,。正確使用語言和很好的使用語言是不一樣的,。例如,好的程序是有“風(fēng)格”的,。它的寫作方法使得人們可以很簡單的閱讀和理解,。它會依循其它程序員熟悉的慣例。并且它有一個整體設(shè)計使得人們可以讀得其意,。計算機完全不在意這種設(shè)計,,但對人類讀者,是很重要的,。編程的這些方面通常被稱為語用(我通常會使用更通用的術(shù)語:風(fēng)格,。)

當(dāng)我引進一個新的語言特性時,我會解釋這個特性的語法,、語義和一些語用,。你得記住語法,這是簡單的部分,。然后你得通過給出的例子意會語義,,確保你理解它們的使用方式,更理想一點,可以自己寫一些短程序來檢測你的理解,。然后你得嘗試著欣賞和吸收語用——這意味著如何很好的使用語言特性,,有了風(fēng)格會為你贏得其他程序員的欽佩。

當(dāng)然,,即使你已經(jīng)對語言的每一個特性都很熟悉了,,也不意味著你就是一個程序員了。你還得學(xué)習(xí)如何構(gòu)建復(fù)雜的程序解決特定的問題,。要實現(xiàn)這個,,你需要經(jīng)驗和審美。你會在本書中發(fā)現(xiàn)一些軟件開發(fā)的小貼士,。

我們使用一個非常傳統(tǒng)的問題來作為探究Java的開端:寫一個顯示“Hello World,!”這一信息的程序。這聽起來很微不足道,,不過這么做確實是學(xué)習(xí)新的編程語言的一大步(特別是學(xué)習(xí)人生第一個編程語言的時候),。這意味著你理解了以下這些基本步驟:

  1. 學(xué)會計算機文本程序,
  2. 編譯程序,,并且
  3. 執(zhí)行編譯后的程序,。

第一次過程中,以上每一步都可能需要經(jīng)過幾次試錯,。我不會在此詳解如果實現(xiàn)每一步的細(xì)節(jié),;它取決于特定的計算機和你使用的Java編程環(huán)境??梢詤⒖?.6節(jié),,了解在特定編程環(huán)境下創(chuàng)建和運行Java程序的信息。但是通常來說,,你需要使用一種文本編輯器寫入程序,,并且存成文件。然后,,你需要使用一些命令來編譯這個文件,。你要么會得到一個報錯信息告訴你程序有語法錯誤,要么得到該程序的編譯后的版本,。在Java中,,程序被編譯成Java字節(jié)碼,而不是機器語言,。最終,,你可以使用適當(dāng)?shù)拿顏磉\行這個編譯后的程序。對Java而言,,你實際上是使用解釋器來執(zhí)行Java字節(jié)碼,。你的編程環(huán)境可能會為你自動執(zhí)行一些步驟——例如,,編譯步驟通常是自動的——但是可以肯定的是這三個步驟在后臺一定是都被執(zhí)行了的。

下文是一個顯示“Hello World,!”信息的Java程序,。不要期望完全了解這個程序的每一句話;其中有一些會在之后的幾個章節(jié)中介紹:

1
2
3
4
5
6
7
8
9
10
/** A program to display the message
 *  'Hello World!' on standard output.
 */
public class HelloWorld {
   public static void main(String[] args) {
      System.out.println('Hello World!');
   }
}   // end of class HelloWorld

實際打印信息的指令是下面這句:

1
System.out.println('Hello World!');

這個指令是一個子程序調(diào)用語句的例子,。它使用了一個叫做System.out.println的“內(nèi)置子程序”來實現(xiàn)功能,。回想一下,,子程序是指將一系列執(zhí)行指令組合在一起并賦予一個名字的指令集合,。這個名字可以在需要執(zhí)行這個指令集合的時候使用,以調(diào)用這個子程序,。一個內(nèi)直子程序是已經(jīng)被定義好的作為語言的一部分的存在,,因此在任何程序中都自動可用。

當(dāng)你執(zhí)行這個程序的時候,,信息“Hello World,!”(不包括引號)會被顯示在標(biāo)準(zhǔn)輸出中。不幸的是,,我不能準(zhǔn)確的表述這句話,。Java是為了運行在許多不同的平臺而設(shè)計的,而標(biāo)準(zhǔn)輸出在不同的平臺意味著不同的東西,。但是,,你可以期待消息出現(xiàn)在一些方便或不方便的地方。(如果你是用命令行接口,,就好像Oracle的Java開發(fā)包里的那樣,,你輸入一個指令告訴計算機執(zhí)行程序。計算機會將程序的輸出結(jié)果:Hello World! 輸出到下一行中,。在一個類似于Eclipse這樣的集成開發(fā)環(huán)境中,輸出可能會出現(xiàn)在環(huán)境的某一個窗口中,。)

你一定對上面那個程序的其它部分也很好奇,。它其中一部分是由注釋組成的。程序中的注釋會全部被計算機忽視,;它們是為了人類閱讀而存在,。這并不意味著它們不重要。程序不止要給電腦讀,,也要給人讀,,沒有注釋的話,程序就很難被理解,。Java有兩種注釋形式,。第一種是使用//開頭,延伸到一行的結(jié)束。也就是上面那個程序的最后一行的注釋形式,。計算機會無視//以及之后的同一行的所有內(nèi)容,。第二種是使用/*開頭,使用*/結(jié)尾,,它可以擴展到多行,。上面的程序的前三行就是這第二種注釋的實例。(實例中的注釋實際上是使用/**開頭的,,它是有特殊含義的,;它是“制作文檔”(Javadoc)注釋,被用來生成程序文檔,。

該程序的其它部分需要遵循Java語法規(guī)則,。Java的所有程序都必須寫在“類”(Class)里面。上面那個程序的第一行(注釋除外)意思是這是個叫做HelloWorld的類,?!癏elloWorld”既是這個類的名字,也是這個程序的名字,。并不是每個類都是一個程序,。為了定義一個程序,一個類必須包含一個叫做main的子程序,,使用以下這種形式:

1
2
3
public static void main(String[] args) {
      statements
}

當(dāng)你讓Java解釋器運行程序時,,解釋器會調(diào)用這個main()子程序,執(zhí)行它包含的所有語句,。這些語句組成了一個腳本,,告訴計算機當(dāng)程序執(zhí)行的時候?qū)嶋H上應(yīng)該運行哪些東西。main()子程序可以調(diào)用定義在同一個類甚至定義在其它類中的其它子程序,,但是main()子程序決定其它子程序的調(diào)用方法和調(diào)用順序,。

main()的第一行的單詞“public”的意思是這個程序可以被程序外部所調(diào)用。這點至關(guān)重要,,因為main()程序是被Java解釋器調(diào)用的,,它是程序外部的。第一行的剩下部分現(xiàn)在更難以解釋,。目前,,就把它們當(dāng)做必須的語法吧。子程序的定義——也就是用來說明它做了什么的指令——組成了“語句”序列,,包含在花括號{和}里,。這里,我是用了statements作為實際組成程序的語句的占位符,。在整本書中,,我將始終使用類似的格式:任何這種格式(綠色粗體)都是用來描述某種你需要在實際程序中輸入的內(nèi)容的占位符,。

按照上文所提及的,子程序不能獨自存在,。它必須是類的一部分,。一個定義有公共類的程序有著如下的格式:

1
2
3
4
5
6
7
8
9
10
11
public class program-name {
    optional-variable-declarations-and-subroutines
    public static void main(String[] args) {
       statements
    }
    optional-variable-declarations-and-subroutines
}

第一行的名字是這個程序的名字,也是這個類的名字,。(請再次記住,,這個program-name 是實際名字的占位符!)

如果這個類的名字叫HelloWorld,,那么這個類就必須被保存在一個叫做HelloWorld.java的文件里,。當(dāng)這個文件被編譯后,會生成另一個叫做HelloWorld.class的類文件,。這個叫HelloWorld.class的類文件包含程序被編譯后形成的Java字節(jié)碼,,可以被Java解釋器執(zhí)行。HelloWorld.java被稱為這個程序的源代碼,。如果要執(zhí)行這個程序,,你只需要編譯類文件,而不需要源代碼,。

這章的程序的布局,,例如空白行和縮進,并不是這個語言的語法或語義的一部分,。計算機不在乎布局——你可以把整個程序?qū)懺谝恍欣?,只要你樂意。但是,,布局對于人們閱讀很重要,,有一些布局風(fēng)格是被大多數(shù)程序員所遵循的。

還要注意,,根據(jù)上面的語法定義,,程序可以包含其它除了main()以外的子程序,又被稱作“變量聲明”,。你從第四章開始會了解更多,。

 

原文鏈接: math. 翻譯: ImportNew.com - 顧星竹
譯文鏈接: http://www./16968.html
[ 轉(zhuǎn)載請保留原文出處、譯者和譯文鏈接,。]

關(guān)于作者: 顧星竹

(新浪微博:@二貨愛吃胡蘿卜

查看顧星竹的更多文章 >>

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多