官术网_书友最值得收藏!

任務1.3 Java程序的入門案例

Java程序的入門案例

本任務講解Java程序的基本輸入/輸出的處理方式,主要包括Java程序的基本結構、控制臺程序的輸入/輸出處理、圖形化程序的輸入/輸出處理、為今后實現Java程序與用戶的交互打下堅實的基礎。

1.3.1 Java程序的基本結構

Java程序,根據運行界面是以圖形化要素為主,還是以文本字符為主,可分為兩種類型。

●GUI應用程序(GUI Application)。

●控制臺程序(Console Application)。

認識事物的正確方法應該是從簡單到復雜。因此,我們先從一個簡單的實例入手,來逐步認識這兩種Java程序的基本結構,為后面的程序開發建立良好的基礎。

計算機語言和其他語言一樣,都是為了描述事物而產生的,都有自身特定的語義、語法和語言結構。在本任務中,為了能夠使大家更快進入Java語言的程序世界,我們先不做過多語法方面的敘述,只簡單介紹任務案例中所用到的基本語法知識。更多細節性內容,將在本書后續相關位置中進一步地講解。

1.Java程序的基本結構概述

作為面向對象的編程語言,Java程序的核心要素是類。類是組成Java程序的最小結構單位。一個Java源程序文件中可以包括一個或多個類的定義。定義類時,必須使用關鍵字class。類名稱可以自己命名,但需符合基本的標識符定義規則。標識符定義規則是以字母、下畫線(_)、美元符號($)開頭,其后面是任意字母、數字(0~9)、下畫線和美元符號的字符序列。Java標識符區分大小寫,對長度沒有限制。同時,用戶定義的標識符不可以是Java的關鍵字。習慣上,類名稱每個單詞的首字母大寫。

例如,定義一個名稱為HelloWorld的類,其基本結構如下。

Java程序的入口方法是main()方法。所謂入口方法是指在運行Java程序時最先執行的方法。一個Java程序必須有且只有一個main()方法。包含main()方法的類被稱為Java程序的主類,主類必須被定義為公共類。

在類關鍵字前面,可以附加一個類的訪問修飾符,表明該類的訪問控制級別。public修飾符使一個類成為公共類。

作為程序執行的起點,main()方法定義的基本格式必須遵循以下形式。

main()方法的定義分為方法聲明和方法體兩部分。方法聲明說明了方法的屬性、返回值類型、名稱及參數;方法體定義了main()方法的行為,功能語句必須放置在塊語句界定符之內。以下是main()方法定義格式中關鍵字及參數的說明。

●public關鍵字,表明main()方法為公共方法。由于應用程序一旦執行,系統進程就要調用入口方法。因此,main()方法必須設置為公共的訪問屬性,以便讓外界對象都能夠訪問它。

●static關鍵字,表明main()方法為靜態方法。由于main()方法的調用先于主類對象的創建,因此static關鍵字對main()方法是必不可少的。

●void關鍵字,表明main()方法沒有返回值。main()方法屬于功能型方法,沒有返回值。

●String[]args是main()方法的參數定義,用來向入口方法傳遞命令行參數。其中,String是Java語言提供的字符串類的名稱,不能出現拼寫錯誤,其中第一個字母必須大寫;args為數組名,可以被其他合法的標識符名稱所代替。

2.基于JDK環境的Java程序開發

在JDK環境下,進行一個簡單的Java程序的開發可歸結為如下步驟。

①用任意文本編輯器創建Java源程序,以擴展名為.java的文件進行保存。

②使用JDK中的編譯命令將源程序文件編譯成擴展名為.class的類(字節碼)文件。

③使用JDK中的運行命令運行Java程序。

下面編寫一個Java程序,本著由簡入繁的原則,這個程序只實現控制臺程序中的輸出功能。程序的編寫、編譯和運行,將利用記事本工具和JDK環境完成。

控制臺程序的主要特征如下。

●程序界面為非圖形化的文本字符風格界面。

●程序運行的邏輯由預定的流程來控制。

●人機交互以文本字符為主。

●輸入設備以鍵盤為主,輸出設備以顯示器為主。

【例1-1】編寫Java程序,在計算機顯示器上輸出一行文本信息:“歡迎訪問Java世界”。

①創建Java程序。選擇Windows系統的“開始”→“所有程序”→“附件”→“記事本”命令,打開記事本程序,在新建的文本文件中輸入如下程序代碼。

下面結合程序代碼進行說明。語句“//這是名稱為“HelloWorld.java”的簡單輸出程序”為注釋行。在程序中插入注釋,有利于提高程序的可讀性,便于他人理解程序。在程序運行時,注釋行不起任何作用,Java程序編譯環境將忽略所有注釋內容。以“//”開始的注釋,稱為單行注釋;以“/*……*/”開始和結束的注釋,稱為多行注釋,這種注釋能夠連續跨越多行文本,中間的所有行都為注釋內容。語句“System.out.println("歡迎訪問Java世界");”為控制臺的輸出語句,用來實現信息字符串的輸出。控制臺程序引入了java.lang包中的System類。java.lang包是Java程序開發必不可少的一個基礎包,Java開發環境會自動引入該包中所有的類。out為System類中的一個標準輸出流對象,默認為顯示器。println()為out對象的一個方法,其功能是向輸出設備輸出該方法參數所包含的信息并自動換行。println()方法如果沒有參數,則只起到換行的作用。與之對應,System.out也提供了不換行的輸出方法print(),其功能是輸出參數的內容后不自動換行,而是將光標定位在輸出內容最后一個字符的后面。

②保存Java程序。在記事本程序中,選擇“文件”→“保存”命令保存程序文件。在彈出的“另存為”對話框中選擇文件保存的路徑,如圖1-26所示。

在“另存為”對話框的“保存類型”下拉列表中默認選擇“文本文檔(*.txt)”選項,需將其更換為“所有文件”選項,如圖1-27所示。

圖1-26 “另存為”對話框

圖1-27 選擇文件類型

Java程序要求文件名必須與公共類名完全相同,包括字母的大小寫形式,其擴展名為.java。在“另存為”對話框的“文件名”下拉列表框中輸入文件名HelloWorld.java,如圖1-28所示。保存后的源文件如圖1-29所示。

圖1-28 輸入文件名

圖1-29 保存后的源文件

③編譯Java程序。選擇Windows系統的“開始”→“運行”命令,在打開的“運行”對話框中輸入“cmd”命令(見圖1-30),進入命令提示符窗口。在命令提示符窗口中,使用cd命令進入源文件所在目錄,如圖1-31所示。編譯源程序的命令是javac,如圖1-32所示。注意,調用JDK中的javac命令,需要配置好JDK的環境變量。如果編譯成功,會產生一個和源程序同名的.class文件,如圖1-33所示。

圖1-30 “運行”對話框

圖1-31 進入源文件所在目錄

圖1-32 編譯源程序

圖1-33 編譯成功

如果程序沒有語法錯誤,系統將自動返回命令提示符狀態。如果程序有語法錯誤,系統將顯示錯誤信息。此時需檢查源碼,修正錯誤并保存文件,再次執行編譯命令,直至編譯通過。

④運行Java程序。運行編譯好的程序的命令是java,如圖1-34所示。注意,調用JDK中的java命令也需要配置好JDK的環境變量。例1-1程序運行結果如圖1-35所示。

編寫和運行Java程序看似很簡單,但初學者在實際操作過程中會遇到很多意想不到的問題,如字母大小寫形式輸入不正確、單詞拼寫錯誤等。因此,程序的編寫和調試需要開發人員有足夠的細心和耐心,這也是成為一名優秀的程序員所需具備的良好素質。

圖1-34 運行程序

圖1-35 例1-1程序運行結果

1.3.2 控制臺程序的輸入/輸出處理

前文簡單介紹了Java控制臺程序的基本輸出方法。在實際的程序編寫過程中,除了輸出環節之外,還包括輸入和處理環節。下面給出了一個Java程序處理任務的通用結構:輸入數據、處理數據和輸出數據。

計算機系統通常都有默認的標準輸入設備和標準輸出設備。對于一般的系統,標準輸入設備通常是指鍵盤,標準輸出設備通常是指顯示器。Java控制臺程序從鍵盤輸入數據,向顯示器輸出數據,是十分常見的數據通信操作。為了方便程序員的開發工作,Java語言預先定義了兩個流對象,分別與系統的標準輸入設備和標準輸出設備相聯系,它們就是System.in和System.out,位于Java的語言類庫包java.lang中。Java語言提供了大量預先定義好的類和接口供程序員使用。Java語言把預先定義的類和接口按包的形式進行組織管理。一個包就是一系列Java類和接口的集合。所有包組成了Java的類庫,即Java API。Java API包分為核心包和擴展包,分別為java和javax。

【例1-2】編寫Java程序,完成從鍵盤輸入兩個運算數據,計算兩數之和并輸出計算結果的功能。

在例1-1中利用了“記事本+JDK”的開發模式。對Java開發人員來說,這個開發模式中的過程過于煩瑣,也不便于程序的編寫和調試。在本書后續的內容中,將統一使用集成開發環境Eclipse來完成Java程序的開發工作。

參照前文介紹的方法,在Eclipse中建立Java程序項目,輸入如下程序代碼。

結合程序代碼進行分析,如下。

①輸入數據部分,對程序而言,最簡單的輸入方式就是賦值語句。例如,參與運算的數據為整數5和3,可利用賦值語句,將數據賦值給定義好的對應程序變量。

②處理數據部分,利用加法運算符和表達式完成計算求和的任務,并將計算結果賦值給對應程序變量。

③輸出結果部分,利用字符串連接運算符,將字符串常量“計算的結果為:”和計算的結果值輸出至顯示器屏幕。

參照前文介紹的方法,運行Java程序,結果如圖1-36所示。

圖1-36 例1-2程序運行結果

從上面的程序中可以看出,如果參與運算的數據發生變化,如變為8和12,則必須修改源程序代碼,并重新編譯。顯然,利用賦值語句提供運算數據是很不靈活的方式。更為常見的輸入方式是在程序執行后,由用戶從鍵盤輸入程序運行所需的數據,進而實現更加靈活的用戶與程序之間的交互過程。

將MyTest.java源程序中的程序代碼進行修改,以實現用戶從鍵盤輸入參與運算的兩個數據,程序完成計算兩數之和并顯示結果的功能,修改后的程序代碼如下。

結合程序代碼進行分析,如下。

①以import關鍵字引導的語句稱為導入語句,作用是將java.io包中所有的類導入當前程序,以便在程序中調用相關的類和方法。

②Java語言要求在控制臺進行標準輸入時,必須有異常處理。這里采用了異常拋出的throws語法格式,當發生輸入異常時,程序自動拋出異常IOException,異常將由JVM自行處理。Java中的異常處理機制分為兩種:一種是捕獲異常,另一種是拋出異常。更詳細的內容將在本書后續的異常處理部分進行進一步的說明。

③System.in.read(t)方法用于獲得用戶從鍵盤輸入的數據,存入字節數組t中。Java是強類型語言,要求先定義后使用。因此,之前已定義了字節數組byte t[]。數組在Java中是引用類型,需要通過new關鍵字完成內存空間的分配。

④鍵盤輸入的數據保存在字節數組中,但最后的加法運算需要數值類型的數據來參與完成。Java系統為整數(int)和實型小數(double)都提供了對應的轉換方法來實現數據轉換。Integer.parseInt(String)的作用是將參數由數字組成的字符串轉換為對應的整數型數據。Double.parseDouble(String)的作用是將參數由數字和小數點組成的字符串轉換為對應的實型數據。在存儲鍵盤輸入數據時,如果字節數組中的存儲空間未全部使用,在將字節數組轉換為字符串時,將用空格進行填充。字符串中的空格是無法轉換為數值的,因此需要利用trim()方法去除掉多余的空格。Integer類和Double類都定義在java.lang包中,因此可以直接使用。

參照前文介紹的方法,運行Java程序,結果如圖1-37所示。

圖1-37 改進后程序的運行結果

Java語言的系統類庫中對控制臺程序處理用戶鍵盤輸入還提供了其他的處理方案,比如可以使用封裝程度更高的java.util.Scanner類來完成獲得用戶鍵盤輸入數據這個任務。下面這段程序代碼是使用Scanner類來完成用戶從鍵盤輸入兩個數據(即一個整數和一個小數),然后計算兩數之和并顯示結果這個任務的,程序的運行結果同圖1-37所示。

我們在處理控制臺程序鍵盤輸入任務時,可以根據需求選擇上述兩個程序代碼段中的任意一個解決方案進行使用,獲得的結果是相同的。

1.3.3 圖形化程序的輸入/輸出處理

上面的程序是使用控制臺方式來完成Java程序的輸入/輸出處理過程的。除此之外,在Java程序中還可以使用圖形化方式來完成與用戶的交互過程。

圖形化交互方式是當今程序開發的主流方式,其主要特征如下。

●程序界面主要由圖形化的要素(如窗體、菜單、按鈕等)構成。

●程序沒有預定好的運行流程,而是由隨機事件來驅動。

●人機交互由消息機制來支持。

●輸入設備以鼠標、鍵盤為主,輸出設備以顯示器為主。

在下面的例子中,將使用Java語言中提供的對話框類JOptionPane來完成圖形化的輸入和輸出過程。更復雜的Java圖形化程序的開發實現,將在本書后續相關部分進行講解。

【例1-3】編寫Java程序,利用圖形用戶界面,完成從鍵盤輸入兩個運算數據,計算兩數之和并輸出結果的功能。

參照前文介紹的方法,在Eclipse中建立Java程序項目,輸入如下程序代碼:

結合程序代碼進行分析,如下。

①javax.swing包中包含很多創建Java圖形用戶界面應用程序所必需的類。第1行將JOptionPane類引入當前程序,以便在程序中調用相關的方法,實現相關輸入/輸出功能。

②調用類JOptionPane的showInputDialog()方法顯示“輸入”對話框,如圖1-38和圖1-39所示。showInputDialog()方法的參數為提示信息,用以提示用戶輸入相關內容。用戶在文本框中輸入相關字符信息后,單擊“確定”按鈕或按Enter鍵可以把文本框中的字符信息返回給Java程序。

③調用類JOptionPane的showMessageDialog()方法,打開“消息”對話框顯示結果信息,如圖1-40所示。這個方法包含兩個參數,參數之間用逗號分隔。第一個參數表示對話框的父窗口對象,當使用關鍵字null時,表示對話框的父窗口不存在,對話框將直接顯示在計算機的顯示器屏幕上;第二個參數為對話框中要顯示的信息,類型為字符串。

參照前文介紹的方法,運行Java程序。按照提示輸入第一個計算數據5,如圖1-38所示。按照提示輸入第二個計算數據3.5,如圖1-39所示。顯示計算結果,如圖1-40所示。

圖1-38 輸入第一個計算數據

圖1-39 輸入第二個計算數據

圖1-40 例1-3的計算結果

主站蜘蛛池模板: 密云县| 永丰县| 尼木县| 平泉县| 昌宁县| 松溪县| 迁安市| 秭归县| 肇州县| 芦溪县| 吉木萨尔县| 博湖县| 比如县| 镇雄县| 泰兴市| 汉阴县| 高要市| 托克托县| 永胜县| 建德市| 东宁县| 桃园市| 凤台县| 台山市| 汉阴县| 佛山市| 吕梁市| 平山县| 凉城县| 淳化县| 南投市| 利川市| 宿迁市| 阿图什市| 图片| 腾冲县| 泰安市| 防城港市| 三台县| 婺源县| 合水县|