第1個簡單java程式(轉)
第1個簡單java程式(轉)[@more@]既然Java 物件導向的基礎已經被討論過了,接下來讓我們看一些實際的Java 程式。讓我們從編譯及執行下面這個簡短示例程式開始。你將看到,這個程式的功能比你想像的要多。
/*
This is a simple Java program.
Call this file "Example.java".
*/
class Example {
// Your program begins with a call to main(). public static void main(String args[]) { System.out.println("This is a simple Java program.");}}
注意:在下面的介紹中,將使用標準JDK(Java Developer’s Kit,Java 開發工具包),它可從Sun Microsystems 公司得到。如果你正在使用其他的Java 開發環境,則Java 程式編譯、執行過程可能有所不同。在這種情況下,請你查閱編譯器的使用者手冊來獲得具體指導。
1 鍵入程式
對大多數計算機語言,包含程式原始碼的檔名是任意的,但對於Java 就不行。關於Java ,你需要知道的第一件事就是原始檔的名字非常重要。對這個例子,源程式檔名應該是Example.java 。下面我們將解釋其中的原因。
在Java 中,一個源程式檔案被稱為一個編譯單元(compilation unit )。它是一個包含一個或多個類定義的文字檔案。Java 編譯器要求源程式檔案使用.java 副檔名。請注意,副檔名長度是4個字元。所以,你的作業系統一定要有支援長檔名的能力。這意味著DOS 和Windows 3.1 是不支援Java 的(至少在目前是這樣)。當然,它可在Windows 95/98 和Windows NT/2000 下正常工作。
從上述示例程式中可以看出,程式中定義的類名也是Example 。這不是巧合。在Java 中,所有的程式碼都必須駐留在類中。按照約定,類名必須與源程式的檔名相同。你也應該確保檔名的大小寫字母與類名一樣,這是因為Java 是區分大小寫的。雖然檔名與類名必須一致的約定似乎有點專制,但是這個約定有助於你輕鬆地維護及組織程式。
2 編譯程式
要編譯示例程式Example ,須執行編譯器程式javac ,並在命令列上指定源程式檔名,格式如下所示:
C:>javac Example.java
編譯器javac 產生了一個名為Example.class 的檔案,該檔案包含程式的位元組碼。前面已討論過,Java 位元組碼中包含的是Java 解釋程式將要執行的指令碼。因此,javac 的輸出並不是可以直接執行的程式碼。
要真正執行該程式,你必須使用名叫java 的Java 直譯器。具體做法是把類名Example 作為一個命令列引數輸入,格式如下所示:
C:>java Example
執行這個程式,將輸出如下內容:
This is a simple Java program.
當Java 原始碼被編譯後,每個單獨的類都被放入自己的輸出檔案中,並以類的名字加“.class ”副檔名為其檔名。這就是為什麼Java 源程式檔案必須與其中包含的類同名的原因——源程式檔案將與“.class ”檔案相同。執行Java 直譯器實際上是指定你想要直譯器執行的類的名字,它會自動搜尋包含該名字且帶有.class 副檔名的檔案。如果找到,它將執行包含在該指定類中的程式碼。
2.2.3 詳細討論第1個示例程式
儘管Example.java 很短,但它包括了所有Java 程式具有的幾個關鍵特性。讓我們仔細分析該程式的每個部分。
程式開始於以下幾行:
/* This is a simple Java program.
Call this file "Example.java".
*/
這是一段註釋(comment )。像大多數其他的程式語言一樣,Java 也允許你在源程式檔案中加註釋。註釋中的內容將被編譯器忽略。事實上,註釋是為了給任何閱讀原始碼程式的人說明或解釋程式的操作。在本例中,註釋對程式進行說明,並提醒你該源程式的名字叫做Example.java 。當然,在真正的應用中,註釋通常用來解釋程式的某些部分如何工作或某部分的特殊功能。
Java 支援3種型別的註釋。在示例程式頂部的註釋稱為多行註釋(multiline comment )。這類註釋開始於“/*”,結束於“*/”。這兩個註釋符間的任何內容都將被編譯器忽略。正如“多行註釋”名字所示,一個多行註釋可以包含若干行文字。
程式的下一行程式碼如下所示:
class Example {
該行使用關鍵字class宣告瞭一個新類,Example 是類名識別符號,整個類定義(包括其所有成員)都將位於一對花括號({})之間,花括號在Java 中的使用方式與C或C++ 相同,目前,不必考慮類的細節,只是有一點要注意,在Java 中,所有程式活動都發生在類內,這就是為什麼Java 程式是物件導向的。
下面一行程式是單行註釋:
// Your program begins with a call to main().
這是Java 支援的第二種型別的註釋。單行註釋(single-line comment )始於“//”,在該行的末尾結束。通常情況下,程式設計師們對於較長的註釋使用多行註釋,而對於簡短的、一行一行的註釋則使用單行註釋。
下一行程式碼如下所示:
public static void main(String args[]) {
該行開始於main( ) 方法。正如它前面的註釋所說,這是程式將要開始執行的第一行。所有的Java 應用程式都透過呼叫main( ) 開始執行(這一點同C/C++ 一樣),我們在此還不能對該行的每一個部分作出精確的解釋,因為這需要詳細瞭解Java 封裝性的特點,但是,由於本書第1部分中的大多數例子都用到這一行程式碼,我們將對各部分作一個簡單介紹。
關鍵字public 是一個訪問說明符(access specifier),它允許程式設計師控制類成員的可見性。如果一個類成員前面有public ,則說明該成員能夠被宣告它的類之外的程式碼訪問(與public 相對的是private ,它禁止成員被所屬類之外的程式碼訪問)。在本例中,main( ) 必須被定義為public 型別,因為當程式開始執行時它需要被它的類之外的程式碼呼叫。關鍵字static 允許呼叫main( ) 而不必先實現該類的一個特殊例項。這是必要的,因為在任何物件被建立之前,Java 直譯器都會呼叫main() 。關鍵字void 僅通知編譯器main() 不返回任何值。你將看到,方法也可以有返回值。如果這一切似乎有一點令人費解,別擔心。所有這些概念都將在隨後的章節中詳細討論。
前面已經介紹過,main() 是Java 程式開始時呼叫的方法。請記住,Java 是區分大小寫的。因此,main 與Main是不同的。Java 編譯器也可以編譯不包含main() 方法的類,但是Java 解釋程式沒有辦法執行這些類。因此,如果你輸入了Main 而不是main ,編譯器仍將編譯你的程式,但Java 解釋程式將報告一個錯誤,因為它找不到main() 方法。
你要傳遞給方法的所有資訊由方法名後面括號中指定的變數接收,這些變數被稱為引數(parameters )。即使一個方法不需要引數,你仍然需要在方法名後面放置一對空括號。在main() 中,只有一個引數,即String args[] ,它宣告瞭一個叫做args的引數,該引數是String 類的一個例項陣列(注:陣列是簡單物件的集合)。字串型別的物件儲存字元的串。在本例中,args接收程式執行時顯示的任何命令列引數。本例中的這個程式並沒有使用這些資訊,但是本書後面講到的其他一些程式將使用它們。
該行的最後一個字元是“{”。它表示了main() 程式體的開始。一個方法中包含的所有程式碼都將包括在這對花括號中間。
另外,main( ) 僅是直譯器開始工作的地方。一個複雜的程式可能包含幾十個類,但這些類僅需要一個main( ) 方法以供直譯器開始工作。當你開始引用被嵌入在瀏覽器中的Java 小應用程式時,你根本不用使用main( ) 方法,因為Web瀏覽器使用另一種不同的方法啟動小應用程式。
接下來的程式碼行如下所示。請注意,它出現在main( ) 內。
System.out.println("This is a simple Java program.");
本行在螢幕上輸出字串“This is a simple Java program.”,輸出結果後面帶一個空行。輸出實際上是由內建方法println ( ) 來實現的。在本例中,println ( ) 顯示傳遞給它的字串。你將會看到,println ( ) 方法也能用來顯示其他型別的資訊。該行程式碼開始於System.out ,現在對它作詳細說明為時尚早,需涉及很多複雜內容。簡單的說,System 是一個預定義的可訪問系統的類,out是連線到控制檯的輸出流。
可能你已經猜到了,控制檯輸出(輸入)在實際的Java 程式和小應用程式中並不經常使用。因為絕大多數現代計算環境從本質上講都是視窗和圖形介面的,控制檯I/O 主要被用簡單的實用工具程式和演示程式使用。在本書後面,你將會學到用Java 生成輸出的其他方法。但是目前,我們將繼續使用控制檯I/O 方法。
請注意,println( ) 語句以一個分號結束。在Java 中,所有的語句都以一個分號結束。該程式的其他行沒有以分號結束,這是因為從技術上講,它們並不是程式語句。
程式中的第一個“}”號結束了main( ) ,而最後一個“}”號結束類Example 的定義。
/*
This is a simple Java program.
Call this file "Example.java".
*/
class Example {
// Your program begins with a call to main(). public static void main(String args[]) { System.out.println("This is a simple Java program.");}}
注意:在下面的介紹中,將使用標準JDK(Java Developer’s Kit,Java 開發工具包),它可從Sun Microsystems 公司得到。如果你正在使用其他的Java 開發環境,則Java 程式編譯、執行過程可能有所不同。在這種情況下,請你查閱編譯器的使用者手冊來獲得具體指導。
1 鍵入程式
對大多數計算機語言,包含程式原始碼的檔名是任意的,但對於Java 就不行。關於Java ,你需要知道的第一件事就是原始檔的名字非常重要。對這個例子,源程式檔名應該是Example.java 。下面我們將解釋其中的原因。
在Java 中,一個源程式檔案被稱為一個編譯單元(compilation unit )。它是一個包含一個或多個類定義的文字檔案。Java 編譯器要求源程式檔案使用.java 副檔名。請注意,副檔名長度是4個字元。所以,你的作業系統一定要有支援長檔名的能力。這意味著DOS 和Windows 3.1 是不支援Java 的(至少在目前是這樣)。當然,它可在Windows 95/98 和Windows NT/2000 下正常工作。
從上述示例程式中可以看出,程式中定義的類名也是Example 。這不是巧合。在Java 中,所有的程式碼都必須駐留在類中。按照約定,類名必須與源程式的檔名相同。你也應該確保檔名的大小寫字母與類名一樣,這是因為Java 是區分大小寫的。雖然檔名與類名必須一致的約定似乎有點專制,但是這個約定有助於你輕鬆地維護及組織程式。
2 編譯程式
要編譯示例程式Example ,須執行編譯器程式javac ,並在命令列上指定源程式檔名,格式如下所示:
C:>javac Example.java
編譯器javac 產生了一個名為Example.class 的檔案,該檔案包含程式的位元組碼。前面已討論過,Java 位元組碼中包含的是Java 解釋程式將要執行的指令碼。因此,javac 的輸出並不是可以直接執行的程式碼。
要真正執行該程式,你必須使用名叫java 的Java 直譯器。具體做法是把類名Example 作為一個命令列引數輸入,格式如下所示:
C:>java Example
執行這個程式,將輸出如下內容:
This is a simple Java program.
當Java 原始碼被編譯後,每個單獨的類都被放入自己的輸出檔案中,並以類的名字加“.class ”副檔名為其檔名。這就是為什麼Java 源程式檔案必須與其中包含的類同名的原因——源程式檔案將與“.class ”檔案相同。執行Java 直譯器實際上是指定你想要直譯器執行的類的名字,它會自動搜尋包含該名字且帶有.class 副檔名的檔案。如果找到,它將執行包含在該指定類中的程式碼。
2.2.3 詳細討論第1個示例程式
儘管Example.java 很短,但它包括了所有Java 程式具有的幾個關鍵特性。讓我們仔細分析該程式的每個部分。
程式開始於以下幾行:
/* This is a simple Java program.
Call this file "Example.java".
*/
這是一段註釋(comment )。像大多數其他的程式語言一樣,Java 也允許你在源程式檔案中加註釋。註釋中的內容將被編譯器忽略。事實上,註釋是為了給任何閱讀原始碼程式的人說明或解釋程式的操作。在本例中,註釋對程式進行說明,並提醒你該源程式的名字叫做Example.java 。當然,在真正的應用中,註釋通常用來解釋程式的某些部分如何工作或某部分的特殊功能。
Java 支援3種型別的註釋。在示例程式頂部的註釋稱為多行註釋(multiline comment )。這類註釋開始於“/*”,結束於“*/”。這兩個註釋符間的任何內容都將被編譯器忽略。正如“多行註釋”名字所示,一個多行註釋可以包含若干行文字。
程式的下一行程式碼如下所示:
class Example {
該行使用關鍵字class宣告瞭一個新類,Example 是類名識別符號,整個類定義(包括其所有成員)都將位於一對花括號({})之間,花括號在Java 中的使用方式與C或C++ 相同,目前,不必考慮類的細節,只是有一點要注意,在Java 中,所有程式活動都發生在類內,這就是為什麼Java 程式是物件導向的。
下面一行程式是單行註釋:
// Your program begins with a call to main().
這是Java 支援的第二種型別的註釋。單行註釋(single-line comment )始於“//”,在該行的末尾結束。通常情況下,程式設計師們對於較長的註釋使用多行註釋,而對於簡短的、一行一行的註釋則使用單行註釋。
下一行程式碼如下所示:
public static void main(String args[]) {
該行開始於main( ) 方法。正如它前面的註釋所說,這是程式將要開始執行的第一行。所有的Java 應用程式都透過呼叫main( ) 開始執行(這一點同C/C++ 一樣),我們在此還不能對該行的每一個部分作出精確的解釋,因為這需要詳細瞭解Java 封裝性的特點,但是,由於本書第1部分中的大多數例子都用到這一行程式碼,我們將對各部分作一個簡單介紹。
關鍵字public 是一個訪問說明符(access specifier),它允許程式設計師控制類成員的可見性。如果一個類成員前面有public ,則說明該成員能夠被宣告它的類之外的程式碼訪問(與public 相對的是private ,它禁止成員被所屬類之外的程式碼訪問)。在本例中,main( ) 必須被定義為public 型別,因為當程式開始執行時它需要被它的類之外的程式碼呼叫。關鍵字static 允許呼叫main( ) 而不必先實現該類的一個特殊例項。這是必要的,因為在任何物件被建立之前,Java 直譯器都會呼叫main() 。關鍵字void 僅通知編譯器main() 不返回任何值。你將看到,方法也可以有返回值。如果這一切似乎有一點令人費解,別擔心。所有這些概念都將在隨後的章節中詳細討論。
前面已經介紹過,main() 是Java 程式開始時呼叫的方法。請記住,Java 是區分大小寫的。因此,main 與Main是不同的。Java 編譯器也可以編譯不包含main() 方法的類,但是Java 解釋程式沒有辦法執行這些類。因此,如果你輸入了Main 而不是main ,編譯器仍將編譯你的程式,但Java 解釋程式將報告一個錯誤,因為它找不到main() 方法。
你要傳遞給方法的所有資訊由方法名後面括號中指定的變數接收,這些變數被稱為引數(parameters )。即使一個方法不需要引數,你仍然需要在方法名後面放置一對空括號。在main() 中,只有一個引數,即String args[] ,它宣告瞭一個叫做args的引數,該引數是String 類的一個例項陣列(注:陣列是簡單物件的集合)。字串型別的物件儲存字元的串。在本例中,args接收程式執行時顯示的任何命令列引數。本例中的這個程式並沒有使用這些資訊,但是本書後面講到的其他一些程式將使用它們。
該行的最後一個字元是“{”。它表示了main() 程式體的開始。一個方法中包含的所有程式碼都將包括在這對花括號中間。
另外,main( ) 僅是直譯器開始工作的地方。一個複雜的程式可能包含幾十個類,但這些類僅需要一個main( ) 方法以供直譯器開始工作。當你開始引用被嵌入在瀏覽器中的Java 小應用程式時,你根本不用使用main( ) 方法,因為Web瀏覽器使用另一種不同的方法啟動小應用程式。
接下來的程式碼行如下所示。請注意,它出現在main( ) 內。
System.out.println("This is a simple Java program.");
本行在螢幕上輸出字串“This is a simple Java program.”,輸出結果後面帶一個空行。輸出實際上是由內建方法println ( ) 來實現的。在本例中,println ( ) 顯示傳遞給它的字串。你將會看到,println ( ) 方法也能用來顯示其他型別的資訊。該行程式碼開始於System.out ,現在對它作詳細說明為時尚早,需涉及很多複雜內容。簡單的說,System 是一個預定義的可訪問系統的類,out是連線到控制檯的輸出流。
可能你已經猜到了,控制檯輸出(輸入)在實際的Java 程式和小應用程式中並不經常使用。因為絕大多數現代計算環境從本質上講都是視窗和圖形介面的,控制檯I/O 主要被用簡單的實用工具程式和演示程式使用。在本書後面,你將會學到用Java 生成輸出的其他方法。但是目前,我們將繼續使用控制檯I/O 方法。
請注意,println( ) 語句以一個分號結束。在Java 中,所有的語句都以一個分號結束。該程式的其他行沒有以分號結束,這是因為從技術上講,它們並不是程式語句。
程式中的第一個“}”號結束了main( ) ,而最後一個“}”號結束類Example 的定義。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-958065/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 第2個java示例程式(轉)Java
- 用java實現一個簡單的房屋管理程式。 (轉)Java
- 一個簡單的解密程式 (轉)解密
- Java 第9 章 : 資料表與簡單Java類對映轉換Java
- 一個簡單的檔案管理程式 (轉)
- 一個簡單的愷撒加密程式 (轉)加密
- 關於Java的RMI程式設計的一個簡單的例子 (轉)Java程式設計
- [譯]使用 Rust 開發一個簡單的 Web 應用,第 1 部分RustWeb
- [轉]:如何快速構建一個簡單的程式
- 一個簡單的學生成績管理程式 (轉)
- java簡單聊天程式碼Java
- java實現一個簡單的爬蟲小程式Java爬蟲
- 一個簡單java程式的執行全過程Java
- 用Java編寫一個最簡單的桌面程式Java
- 一個用Perl分析Apache Log的簡單程式(轉)Apache
- 用flask開發部落格(1)——第一個簡單程式Flask
- 第 1 章 JavaJava
- (轉)簡單介紹java EnumerationJava
- java字串的簡單介紹(轉)Java字串
- java簡單資料型別(轉)Java資料型別
- 用java實現一個簡單的序列化的例子(轉)Java
- 用java實現一個簡單的序列化的例子 (轉)Java
- 在ASP中使用簡單Java類 (轉)Java
- Go的第一個Hello程式 簡簡單單 - 快快樂樂Go
- wifidog 程式碼簡單分析(1)WiFi
- Java實現一個簡單的BitArrayJava
- 【秒懂Java】【第1章_初識Java】01_程式語言Java
- 一個簡單的守護程式
- 我編了一個簡單程式(●'◡'●)
- 建立一個簡單的小程式
- 用Java程式碼實現一個簡單的聊天室功能Java
- Storm系列(三)java編寫第個storm程式ORMJava
- 一個簡單的Webmail系統 (轉)WebAI
- 一個簡單的考勤系統 (轉)
- Java學習第1章Java
- js日期格式簡單轉換程式碼JS
- 中文詞法分析的簡單程式 (轉)詞法分析
- 用java寫一個貪食蛇的簡單AIJavaAI