版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、JAVA程序設計實例教程,主編: 關 忠 制作:李曉新 2011年3月,JAVA程序設計實例教程,第1章 你好,Java 第2章 比較大小 第3章 車輛信息顯示 第4章 計算器 第5章 文本編輯器 第6章 賽馬游戲 第7章 網(wǎng)絡即時通訊,第1章 你好,Java,1.1 基礎實例 1.2 基礎知識Java程序設計基礎 1.3 擴展知識常用的Java集成開發(fā)環(huán)境 1.4 擴展實例,引 言,Java是一種簡單易用、完全面向對象、安全可靠、主要面向Internet且具有最棒的跨平臺可移植性的開發(fā)工具。從現(xiàn)在開始,Java將帶領讀者進入一個全新的領域。 本章將主要通過一些比較簡單的實例,使讀者對于Jav
2、a能有一個初步的認識,掌握Java程序設計中最基礎的知識。,1.1 基礎實例,1.1.1 編寫步驟 首先,執(zhí)行“開始所有程序附件記事本”。然后,在記事本中輸入以下內容: 1/MyFirstJavaApplication.java 2public class MyFirstJavaApplication 3 public static void main(String args) 4 System.out.println(你好,Java!); 5 6,1.1 基礎實例,1.1.2 運行結果 執(zhí)行“開始運行”,在彈出的“運行”對話框中,輸入“cmd”,單擊“確定”按鈕或執(zhí)行“開始所有程序附件命令提
3、示符”。在命令窗口中,使用JDK中的javac命令編譯源文件MyFirstJavaApplication.java,語句如下: javac MyFirstJavaApplication.java,1.1 基礎實例,編譯完成后,在源文件所在的文件夾下,會生成一個名為“MyFirstJavaApplication.class”的字節(jié)碼文件。然后,使用JDK中的java命令運行字節(jié)碼文件MyFirstJavaApplication.class,命令如下: java MyFirstJavaApplication 該Java程序運行后,會在命令窗口中輸出相應信息,1.1 基礎實例,MyFirstJava
4、Application程序的運行結果,1.2 基礎知識Java程序設計基礎,1.2.1 Java的開發(fā)運行環(huán)境 SUN公司提供了自己的一套Java開發(fā)環(huán)境,通常稱之為JDK(Java Development Kit),并且提供了多種操作系統(tǒng)下的JDK。隨著時間的推移和技術的進步,JDK的版本也在不斷的升級,如JDK1.2、JDK1.3、JDK1.4等,目前最新版本是JDK6(也就是JDK1.6)。 不同操作系統(tǒng)下的JDK的各種版本在使用上基本相似,大家可以根據(jù)自己的使用環(huán)境,從SUN公司的網(wǎng)站上下載相應的版本。本書中所使用的都是基于Windows平臺下的JDK 6。,1.2 基礎知識Java程
5、序設計基礎,安裝完成后,這個工具包中的所有內容都會放在JDK安裝文件夾下,其中的bin文件夾中包含了所有相關的可執(zhí)行文件。 在bin文件夾中,javac.exe是Java的編譯工具,Java源文件的擴展名為.java,源文件被編譯后會在其所在的文件夾中生成相應的字節(jié)碼文件,字節(jié)碼文件的擴展名為.class;java.exe是Java的解釋工具,負責解釋執(zhí)行Java字節(jié)碼文件。,1.2 基礎知識Java程序設計基礎,1.2.2 Java程序的基本結構 1Java應用程序 2Java小應用程序,1.2 基礎知識Java程序設計基礎,Java應用程序的執(zhí)行過程,1.2 基礎知識Java程序設計基礎,
6、Java小應用程序的執(zhí)行過程,1.2 基礎知識Java程序設計基礎,1.2.3 Java的基本語法格式 1標識符 在Java語言中,標識符用于為各種變量、數(shù)組、方法、類、對象、接口、包等命名。Java標識符的命名規(guī)則是: Java標識符由字母、數(shù)字、下劃線(_)和美元符號($)組成,長度不限。 Java標識符的第一個字母必須是字母、下劃線(_)或美元符號($)。 盡可能避免使用含$符號的標識符,因為它們常被編譯器用來創(chuàng)建標識符的名字。 Java標識符嚴格區(qū)分大小寫。 用戶不能直接使用Java語言中的關鍵字作為標識符,但是它可以包含關鍵字作為它名字的一部分。,1.2 基礎知識Java程序設計基礎
7、,在同一作用域內,一般不允許有同名的標識符。 為了提高程序的可讀性,標識符的命名最好能夠做到“見名知義”,而且規(guī)范大小寫的使用方式。通常情況下,對于標識符有以下一些風格約定: _和$一般不作為變量名,方法名的開頭。 包名:全部小寫,例如java、applet、awt等。 接口名、類名:每個單詞的首字母都要大寫,例如MyFirstJavaApplication、System、Graphics等。 變量名、對象名、方法名:第一個單詞全部小寫,其余單詞只有首字母大寫,例如anyVariableWorld、drawString等。 常量名:全部大寫,例如PI、MAX_VALUE等。,1.2 基礎知識J
8、ava程序設計基礎,2關鍵字 關鍵字是由Java語言定義的,具有特殊含義的字符序列。 每個關鍵字都有一種特定的含義,不能將關鍵字作為普通標識符來使用。所有的Java關鍵字一律用小寫字母表示。,1.2 基礎知識Java程序設計基礎,Java關鍵字,1.2 基礎知識Java程序設計基礎,3分隔符 Java程序的分隔符用于區(qū)分Java源程序中的基本成分,分為注釋、空白符和普通分隔符三種。,1.2 基礎知識Java程序設計基礎, 注釋 在程序中適當?shù)丶尤胱⑨屖且环N良好的編程習慣,這樣會增加程序的可讀性。 注釋不能放在一個標識符或關鍵字之中,也就是說,要保證程序中最基本元素的完整性。注釋不會影響程序的執(zhí)
9、行結果,編譯器將忽略注釋。 在Java中,主要有以下三種注釋形式: 單行注釋:/注釋部分只對當前行有效 多行注釋:/*注釋部分*/ 文檔注釋:/*注釋部分*/,1.2 基礎知識Java程序設計基礎, 空白符 空白符包括空格、回車、換行和制表符(Tab鍵)。各種Java基本成分之間的多個空白符與一個空白符的作用相同。在編譯過程中,編譯器會忽略空白符。在程序中適當?shù)氖褂每瞻追梢栽鰪姵绦虻目勺x性。,1.2 基礎知識Java程序設計基礎, 普通分隔符 普通分隔符具有確定的含義,不能用錯。它主要包括四種分隔符: 大括號:用于定義語句塊,例如:定義類體、方法體和復合語句以及數(shù)組的初始化等。 ;分號:用
10、于作為語句結束的標志。 ,逗號:用于區(qū)分方法的各個參數(shù),區(qū)分變量說明的各個變量。 :冒號:用于作為語句的標號,1.3 擴展知識常用的Java集成開發(fā)環(huán)境,1.3.1 JCreator JCreator是一個小巧靈活的Java程序開發(fā)工具,也是一個Java集成開發(fā)環(huán)境。 它可將Java程序的編寫、編譯、運行和調試集成進自身的環(huán)境中直接進行開發(fā),且無需進行環(huán)境變量的設置。 在功能上與SUN公司所公布的JDK等文字模式開發(fā)工具相較之下來得容易,還允許使用者自定義操作窗口界面及無限Undo/Redo等功能。,1.3 擴展知識常用的Java集成開發(fā)環(huán)境,JCreator操作界面,1.3 擴展知識常用的J
11、ava集成開發(fā)環(huán)境,1.3.2 JBuilder JBuilder主要的特點有: JBuilder支持最新的Java技術,包括Applets、JSP/Servlets、JavaBean以及EJB (Enterprise JavaBeans)的應用。 用戶可以自動地生成基于后端數(shù)據(jù)庫表的EJB Java類,JBuilder同時還簡化了EJ B的自動部署功能。 JBuilder支持各種應用服務器。 JBuilder能用Servlet和JSP開發(fā)、調試動態(tài)Web應用。 利用JBuilder可以創(chuàng)建(沒有專有代碼和標記)純Java 2應用。 JBuilder擁有專業(yè)化的圖形調試界面,支持遠程調試和多線
12、程調試,調試器支持各種JDK版本,包括J2ME、J2SE和J2EE。,1.3 擴展知識常用的Java集成開發(fā)環(huán)境,JBuilder操作界面,1.3 擴展知識常用的Java集成開發(fā)環(huán)境,1.3.3 Eclipse和MyEclipse 1Eclipse 概述 Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。 Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。 Eclipse的前身是IBM的Visual Age for Java。 Eclipse是可擴展的體系結構,可以集成不同軟件開發(fā)供應商開發(fā)的產(chǎn)品,將他們開發(fā)的工具和組件加入到Eclipse平臺中。,1.3 擴展知識常用的
13、Java集成開發(fā)環(huán)境, Eclipse的結構和內核 Eclipse本身作為一個開放源碼的軟件項目,它主要包含3個子項目:平臺子項目、Java開發(fā)工具(JDT-java)子項目和插件開發(fā)環(huán)境(PDE-plug-in)子項目。 Eclipse目前的最新版本為Eclipse 3.5.2。,1.3 擴展知識常用的Java集成開發(fā)環(huán)境,2MyEclipse MyEclipse是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合。 MyEclipse目前支持Java Servlet、AJAX、JSP、JSF、Struts、Spring、Hibernate、EJB3、JDBC數(shù)據(jù)庫鏈接工具等
14、多項功能??梢哉fMyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工 具。 MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。 它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML、Struts、JSF、CSS、Javascript、SQL、Hibernate。,1.3 擴展知識常用的Java集成開發(fā)環(huán)境,在結構上,MyEclipse的
15、特征可以被分為7類: J2EE模型 WEB開發(fā)工具 EJB開發(fā)工具 應用程序服務器的連接器 J2EE項目部署服務 數(shù)據(jù)庫服務 MyEclipse整合幫助,1.3 擴展知識常用的Java集成開發(fā)環(huán)境,MyEclipse操作界面,1.4 擴展實例,在本節(jié)中,將使用Eclipse來開發(fā)一個簡單的Java應用程序。 通過實例,請讀者熟悉一下Eclipse開發(fā)環(huán)境,本書后面都會使用Eclipse來進行相應的開發(fā)。,1.4 擴展實例,1啟動Eclipse 啟動介面,1.4 擴展實例,2創(chuàng)建Java項目 執(zhí)行“文件新建Java項目”,在彈出的“新建Java項目”對話框中,設置“項目名”,并在內容中設置項目的
16、保存位置, 然后,單擊“完成”按鈕,完成Java項目的創(chuàng)建工作,系統(tǒng)會在項目的保存位置上創(chuàng)建相應的文件夾。,1.4 擴展實例,3創(chuàng)建Java類 執(zhí)行“文件新建類”,在彈出的“新建Java 類”對話框中,設置類名。 然后,單擊“完成”按鈕,完成Java類的創(chuàng)建工作,系統(tǒng)會自動在項目文件夾中創(chuàng)建相應的文件。,1.4 擴展實例,4編寫Java類 在編輯窗口中,輸入以下Java程序代碼: 1/MyFirstJavaApplication1.java 2import javax.swing.JOptionPane; 3public class MyFirstJavaApplication1 4publi
17、c static void main(String args) 5JOptionPane.showMessageDialog(null,你好,Java!); 6 7 輸入完成后,執(zhí)行“文件保存”,即可完成在Eclipse下第一個Java程序的編寫工作。,1.4 擴展實例,1.4.2 運行結果 執(zhí)行“運行運行”或“運行運行方式Java應用程序”,即可執(zhí)行程序。如果程序尚未保存,Eclipse會詢問在執(zhí)行前是否要保存文檔,然后執(zhí)行程序。該Java程序運行后,執(zhí)行結果如圖 .,1.4 擴展實例,MyFirstJavaApplication的運行結果,第2章 比較大小,2.1 基礎實例 2.2 基礎知
18、識Java基本語 2.3 擴展知識數(shù)組法 2.4 擴展實例,引 言,通過上一章的學習,讀者對于Java已經(jīng)有了一個初步認識,掌握了Java程序設計的基礎知識。 本章中,將通過一個比較數(shù)值大小的實例來進一步學習Java語言的基本語法規(guī)則,從而讓讀者能夠使用Java開發(fā)工具編寫出一個具備數(shù)值比較功能的Java程序。,2.1 基礎實例,現(xiàn)在將編寫一個Java應用程序,主要用于實現(xiàn)兩個數(shù)大小的比較,并給出比較結果。 通過實例,讀者將進一步學習Java語言的基本語法規(guī)則。,2.1 基礎實例,2.1.1 編寫步驟 1啟動Eclipse 2創(chuàng)建Java項目 3創(chuàng)建Java類 4編寫Java類,2.1 基礎實
19、例,在編輯窗口中,輸入以下Java程序代碼: 1/Compare.java 2import javax.swing.JOptionPane;/裝載JOptionPane類 3public class Compare 4public static void main(String args) 5String s1,s2; 6s1=JOptionPane.showInputDialog(請輸入第一個整數(shù):); 7/s1接收來自輸入文本框的第一個整數(shù) 8s2=JOptionPane.showInputDialog(請輸入第二個整數(shù):); 9/s2接收來自輸入文本框的第二個整數(shù) 10int first
20、Number,secondNumber; 11firstNumber=Integer.parseInt(s1); 12/將字符串s1轉換成整數(shù)賦值給firstNumber 13secondNumber=Integer.parseInt(s2); 14/將字符串s2轉換成整數(shù)賦值給secondNumber,2.1 基礎實例,15/比較兩個數(shù)的大小 16if(firstNumbersecondNumber) 17JOptionPane.showMessageDialog(null, firstNumber+大于+secondNumber); 18 19else if(firstNumber=sec
21、ondNumber) 20JOptionPane.showMessageDialog(null, firstNumber+等于+secondNumber); 21 22else 23JOptionPane.showMessageDialog(null, firstNumber+小于+secondNumber); 24 25 26 輸入完成后,執(zhí)行“文件保存”,即可完成在Eclipse下Java程序的編寫工作。,2.1 基礎實例,2.1.2 運行結果 執(zhí)行“運行運行”,即可執(zhí)行程序。 如果程序尚未保存,Eclipse會詢問在執(zhí)行前是否要保存文檔,然后執(zhí)行程序。 該Java程序運行后,按對話框提示
22、操作。,2.2 基礎知識Java基本語,Java是基于C+語言開發(fā)出來的,因此其語法規(guī)則與C/C+非常相似,但是又有所不同。 接觸過C/C+的讀者,學習時要特別注意Java與C/C+的區(qū)別。 下面詳細介紹Java的基本語法。,2.2 基礎知識Java基本語,2.2.1 數(shù)據(jù)類型,2.2 基礎知識Java基本語,1 整數(shù)類型,2.2 基礎知識Java基本語,2浮點數(shù)類型,2.2 基礎知識Java基本語,3字符類型 在Java中,利用關鍵字char來定義字符類型的數(shù)據(jù)。字符型數(shù)據(jù)是用單引號括起來的單個字符。例如:char c = A。 Java中的字符型數(shù)據(jù)是基于16位的Unicode字符集,每個
23、字符占兩個字節(jié)。Java中的字符型數(shù)據(jù)屬于整型數(shù)據(jù),但是無符號的整型數(shù)據(jù),其取值范圍為02161。,2.2 基礎知識Java基本語,4邏輯類型 邏輯類型,又稱為布爾類型,用關鍵字boolean來表示。例如:boolean b = false。,2.2 基礎知識Java基本語,2.2.2 常量與變量 1常量 常量是不能被程序修改的固定值,在程序運行之前,其值就已經(jīng)確定了。在Java中,定義常量時需要使用final關鍵字。定義基本數(shù)據(jù)類型的常量的基本語法格式為: 修飾符 final 基本數(shù)據(jù)類型 常量名1=數(shù)值1 , 常量名2=數(shù)值2;,2.2 基礎知識Java基本語,Java中的常量,主要有:
24、整型常量 整型常量分為單字節(jié)整型、短整型、整型和長整型4種,它們均可以用十進制、八進制和十六進制三種方式表示。 十進制整數(shù):十進制整數(shù)的第一位數(shù)字不能為0。例如:123、-456、23L。 八進制整數(shù):要求必須以0為前導,例如:0123、-011、0377L。 十六進制整數(shù):要求必須以0 x或0X作為前導,例如:0 x123、-0X1A2D、0XFFFL。,2.2 基礎知識Java基本語, 實型常量 實型常量分為單精度和雙精度兩種類型。實型數(shù)據(jù)只采用十進制數(shù)表示,有小數(shù)形式和指數(shù)形式兩種不同的表示。 小數(shù)形式(標準形式):由數(shù)字和小數(shù)點組成,且必須有小數(shù)點。例如:0.123、1.23D, -0
25、.9901F。 指數(shù)形式(科學計數(shù)法形式):用指數(shù)冪的形式表示,要求必須有指數(shù)部分。例如:123e3、123E-3,其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。,2.2 基礎知識Java基本語, 字符常量 字符常量是用單引號括起來的一個字符,例如:a、A。Java中還允許使用轉義字符來將其后的字符轉變?yōu)槠渌暮x。,2.2 基礎知識Java基本語,Java中常用的轉義序列,2.2 基礎知識Java基本語, 邏輯常量 邏輯常量只有兩個值:true和false,分別代表布爾邏輯中的“真”和“假”。 在Java中,邏輯常量不能轉換成任何其他類型的數(shù)據(jù)。 true和false只能賦值給聲明
26、為boolean類型的變量,或者用于邏輯運算表達式中。,2.2 基礎知識Java基本語,2變量 變量是在程序運行過程中可以賦值并能夠對其值進行更改的數(shù)據(jù)。 變量是Java程序中的基本存儲單元,它的定義包括變量名、變量值、變量類型和作用域幾個部分。 變量根據(jù)其所屬的數(shù)據(jù)類型劃分:基本數(shù)據(jù)類型變量和引用數(shù)據(jù)類型變量(復合數(shù)據(jù)類型變量)。 根據(jù)變量被聲明的位置劃分為:局部變量、成員變量。,2.2 基礎知識Java基本語, 變量的定義與初始化 變量的賦值與類型轉換 變量的作用域,2.2 基礎知識Java基本語,成員變量的默認初始化原則,2.2 基礎知識Java基本語,2.2.3 運算符和表達式 表達式
27、是由變量、常量和各種運算符組成的式子,是程序的基本組成單位之一。 表達式可以是程序語句的一部分,也可以是一個單獨的程序語句。 表達式的值就是表達式中的各變量、常量經(jīng)過運算所得到的結果,而這些運算就主要是由表達式中的運算符來規(guī)定。,2.2 基礎知識Java基本語,1運算符 算術運算符,2.2 基礎知識Java基本語,自增、自減運算符,2.2 基礎知識Java基本語, 關系運算符,2.2 基礎知識Java基本語, 邏輯運算符,2.2 基礎知識Java基本語, 位運算符,2.2 基礎知識Java基本語, 賦值運算符,2.2 基礎知識Java基本語, 條件運算符 條件運算符是Java語言中唯一的一個三
28、目運算符,其一般形式為:表達式?語句1:語句2。 在計算條件表達式時,先計算表達式,如果值為true,就執(zhí)行語句1,并將其結果作為條件表達式的值;否則執(zhí)行語句2,并將其結果作為條件表達式的值。 其中表達式的運行結果必須是布爾型數(shù)據(jù),語句1和語句2返回的數(shù)據(jù)的數(shù)據(jù)類型必須保持一致。,2.2 基礎知識Java基本語, 其他運算符,2.2 基礎知識Java基本語,2表達式 表達式的值和類型 表達式的運算順,2.2 基礎知識Java基本語,運算符的優(yōu)先順序,2.2 基礎知識Java基本語,2.2.4 流程控制 1順序結構 程序從上至下一行一行執(zhí)行的結構,中間沒有分支和跳轉,直到程序結束。 一般情況下,
29、程序中的語句都是按程序設計時所確定的次序一個語句接一個語句地順序執(zhí)行的。,2.2 基礎知識Java基本語,2選擇結構 選擇結構提供了一種控制機制,使得程序的執(zhí)行可以跳過某些語句不執(zhí)行,而轉去執(zhí)行特定的語句。 在Java中,選擇語句包括if語句(單選)、ifelse語句(雙選)和switch語句(多選),2.2 基礎知識Java基本語,3循環(huán)結構 循環(huán)語句的作用是反復執(zhí)行一段代碼,直到滿足終止循環(huán)的條件為止。Java語言中提供的循環(huán)語句有: while語句 do-while語句 for語句,2.2 基礎知識Java基本語,4跳轉語句 在使用循環(huán)語句時,只有循環(huán)條件表達式的值為false時才能結束
30、循環(huán)。 想要提前中斷循環(huán),則需要使用break語句,還可以在循環(huán)語句塊中添加continue語句,來跳過本次循環(huán)要執(zhí)行的剩余語句,然后開始執(zhí)行下一輪循環(huán)。,2.3 擴展知識數(shù)組法,Java中,數(shù)組是一種最簡單的復合數(shù)據(jù)類型。 數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個元素都具有相同的數(shù)據(jù)類型,可以用一個統(tǒng)一的數(shù)組名和下標來唯一地確定數(shù)組中的元素,這些數(shù)據(jù)在內存中的存放是連續(xù)的。數(shù)組分為一維數(shù)組和多維數(shù)組。,2.3 擴展知識數(shù)組法,2.3.1 一維數(shù)組 1一維數(shù)組的聲明 在Java中,一維數(shù)組的定義形式為: 數(shù)組元素類型 數(shù)組名 ; 數(shù)組元素類型 數(shù)組名;,2.3 擴展知識數(shù)組法,2一維數(shù)組的初始化 可
31、以在定義數(shù)組的同時為數(shù)組元素分配空間并賦值,也就是對數(shù)組進行靜態(tài)初始化。例如: int intArray=1,2,3,4; String stringArray=abc, How, you;,2.3 擴展知識數(shù)組法,3一維數(shù)組元素的引用 只有完成了對所有數(shù)組元素的創(chuàng)建和初始化工作之后,才可以在程序中引用數(shù)組元素、修改其屬性和調用其方法。 Java中數(shù)組元素的引用是通過數(shù)組下標來實現(xiàn)的,其引用方式為: 數(shù)組名數(shù)組下標 其中數(shù)組下標可以為整型常數(shù)或表達式,下標從0開始,到數(shù)組元素個數(shù)值減1為止。每個數(shù)組都有一個屬性length來指明它的長度,即數(shù)組元素的個數(shù)。,2.3 擴展知識數(shù)組法,2.3.2
32、多維數(shù)組 1二維數(shù)組的定義 在Java中,二維數(shù)組的定義形式為: 數(shù)組元素類型 數(shù)組名 ; 數(shù)組元素類型 數(shù)組名;,2.3 擴展知識數(shù)組法,2二維數(shù)組的初始化 靜態(tài)初始化 Java語言中,由于把二維數(shù)組看作是數(shù)組的數(shù)組,數(shù)組空間不是連續(xù)分配的,所以不要求二維數(shù)組每一維的大小相同。例如: int intArray =1,2,2,3,3,4,5; 動態(tài)初始化 直接為每一維分配空間,具體語法格式如下: 數(shù)組名= new 數(shù)組元素類型arrayLength1arrayLength2; 從最高維開始,分別為每一維分配空間: 數(shù)組名= new 數(shù)組元素類型arrayLength1 ; 數(shù)組名0 = new
33、 數(shù)組元素類型arrayLength20; 數(shù)組名1 = new 數(shù)組元素類型arrayLength21; 數(shù)組名arrayLength1-1 = new 數(shù)組元素類型arrayLength2n;,2.3 擴展知識數(shù)組法,3二維數(shù)組元素的引用 與一維數(shù)組相同,二維數(shù)組元素可以通過指定數(shù)組元素下標的方式進行引用。 對二維數(shù)組中的每個元素,引用方式為:數(shù)組名index1index2。 需要注意的是:在數(shù)組的每一維中,數(shù)組元素的編號均從0開始,到該維的數(shù)組元素個數(shù)減1結束。,2.4 擴展實例,2.4.1 編寫步驟 首先,通過雙擊Eclipse文件夾中的名為Eclipse的可執(zhí)行文件,就可以啟動Ecl
34、ipse了。然后,開始進行Java程序的開發(fā)。 1創(chuàng)建Java項目 執(zhí)行“文件新建Java項目”,在彈出的“新建Java項目”對話框中,設置“項目名”,并在內容中設置項目的保存位置。然后,單擊“完成”按鈕,完成Java項目的創(chuàng)建工作,系統(tǒng)會在項目的保存位置上創(chuàng)建相應的文件夾。,2.4 擴展實例,2創(chuàng)建Java類 執(zhí)行“文件新建類”,在彈出的“新建Java 類”對話框中,設置類名。然后,單擊“完成”按鈕,完成Java類的創(chuàng)建工作,系統(tǒng)會自動在項目文件夾中創(chuàng)建相應的文件。,2.4 擴展實例,3編寫Java類 在編輯窗口中,輸入以下Java程序代碼: 1/BubbleSort.java 2publi
35、c class BubbleSort 3public static void main(String args) 4int a=27,6,4,8,10,12,89,68,45,37; 5System.out.println(排序前的數(shù)據(jù)序列:); 6printArray(a); 7System.out.println(選擇排序的各趟結果:); 8sortBubble(a); 9printArray(a); 10 11 12/數(shù)組排序的方法,2.4 擴展實例,13 public static void sortBubble(int a) 14 int hold; 15for(int pass=1
36、;passai+1) 18 hold=ai; 19 ai=ai+1; 20 ai+1=hold; 21 22 printArray(a); 23 ,2.4 擴展實例,24 25 26/打印數(shù)組的方法 27 public static void printArray(int b) 28for(int i=0;ib.length;i+) 29System.out.print( +bi); 30System.out.println(); 31 32 輸入完成后,執(zhí)行“文件保存”,即可完成在Eclipse下Java程序的編寫工作。,2.4 擴展實例,2.4.2 運行結果 執(zhí)行“運行運行方式Java應用
37、程序”,即可執(zhí)行程序。 如果程序尚未保存,Eclipse會詢問在執(zhí)行前是否要保存文檔,然后執(zhí)行程序。 在Eclipse下運行Java程序時,通常會將在命令窗口中顯示的結果顯示在“控制臺”中。,2.4 擴展實例,冒泡排序運行結果,第3章 車輛信息顯示,3.1 基礎實例 3.2 基礎知識面向對象程序設計基礎 3.3 擴展知識面向對象程序設計高級 3.4 擴展實例,引 言,本章介紹了如何使用java語言實現(xiàn)面向對象程序設計的基本概念,包括類和對象的關系,類的實例化,類的派生和繼承,多重繼承的功能接口以及包等概念,并綜合運用上述知識給出了兩個簡單的車輛信息顯示的實例。,3.1 基礎實例,本實例的功能是
38、通過類及對象的創(chuàng)建等操作,完成一個可以顯示小轎車信息的程序。 3.1.1 編寫步驟 在Eclipse中建立一個小轎車類,在其中定義了小轎車的各種屬性及其方法,并對小轎車類進行實例化,創(chuàng)建一個速騰轎車的對象。 設置速騰轎車對象的屬性,并執(zhí)行相關的方法,最后顯示出這個對象的各種信息。,3.1 基礎實例,程序的源代碼清單 1public class CarDisp /小轎車類 2 3public static void main(String args) 4CarDisp Sagitar = new CarDisp(); /創(chuàng)建對象速騰 5 6Sagitar.color = 黑; 7Sagitar.
39、model = 速騰; 8Sagitar.horsepower = 小; 9Sagitar.manufacturer = 一汽大眾; 10 11System.out.println(車輛類型:+Sagitar.type); 15System.out.println(生產(chǎn)廠家:+Sagitar.manufacturer); 16 17System.out.println(當前車速:+Sagitar.speed+ 行駛方向:+Sagitar.direction); ,3.1 基礎實例,34 35 36public String type;/車輛類型 37public String color; /
40、顏色 38public String model; /型號 39public String horsepower; /馬力 40public String manufacturer; /生產(chǎn)廠家 41public int speed;/速度 42public String direction;/方向 43 44public CarDisp() 45type = 小轎車; 46direct 48 49 50public void run()/ 行駛方法 53 54 55public void turnleft()/左轉彎方法 57 78,3.1 基礎實例,3.1.2 運行結果,3.2 基礎知識面
41、向對象程序設計基礎,3.2.1面向對象程序設計的特點 1封裝性 (Encapsulation) 2繼承 (Inheritance) 3多態(tài)性 (Polymorphism),3.2 基礎知識面向對象程序設計基礎,3.2.2 類的建立與聲明 類(Class)實際上是對某種類型的對象定義變量和方法的原型。它表示對現(xiàn)實生活中一類具有共同特征的事物的抽象,是面向對象編程的基礎。 類是對某個對象的定義。它包含有關對象動作方式的信息,包括它的名稱、方法、屬性和事件。,3.2 基礎知識面向對象程序設計基礎,類定義的一般形式如下: 限制符 class 類名 類體 類的定義由類頭和類體兩部分組成。,3.2 基礎知
42、識面向對象程序設計基礎,3.2.3 類中的屬性和方法 1屬性 屬性就是數(shù)據(jù)成員,它們指定了該類的內部表示,其一般由常量或變量組成,比如基礎實例中第36行到41行,就是類屬性的定義。 在類定義中屬性可以賦初值,如果設置了初始值,實例化對象后,對象中的屬性就會繼承該值。如果沒有在類定義中設置初始值,則在實例化對象后,要進行顯式的賦值操作,否則該值會為空(null)。,3.2 基礎知識面向對象程序設計基礎,2方法 方法是包含一系列語句的代碼塊,他們指定了該類的操作方法,方法一般由方法頭和方法體組成,方法的定義如下: 限制符 返回值類型 方法名(參數(shù)類型 參數(shù)1, 參數(shù)類型 參數(shù)2,) 方法體 ,3.
43、2 基礎知識面向對象程序設計基礎,3構造方法 方法中有一個特殊的應用,當方法名與類名相同時,這個方法被稱為構造方法,即在對象被實例化時自動調用的一個方法,一般將需要初始化的語句放在其中。 構造方法沒有返回值,因此不需要設置返回值類型,,3.2 基礎知識面向對象程序設計基礎,3.2.4 類中的訪問權限 1public修飾符 2private修飾符 3protected修飾符 4friendly修飾符 5修飾符使用時的注意,3.2 基礎知識面向對象程序設計基礎,3.2.5 對象 所謂對象就是類的實例化,一個對象就是類中所定義的一組變量和相關方法的集合。 對象的變量是構成對象的核心,不同對象的變量是
44、分離的。對象通過成員變量和類方法進行相互間的交流,以實現(xiàn)各種復雜的行為。,3.2 基礎知識面向對象程序設計基礎,1對象的聲明 對象的聲明與普通變量的聲明相似,首先指定一個類名作為這個對象的類類型,然后在類名后寫一個對象名即可。 對象聲明的例子如下所示: 類A 對象A; 類B 對象B1, 對象B2; 類A實例化了一個對象A,類B實例化了兩個對象B1和B2。,3.2 基礎知識面向對象程序設計基礎,2對象的創(chuàng)建 示例中創(chuàng)建了兩個對象: 對象A=new 類A(); 對象B1=new 類B(“hello”);,3.2 基礎知識面向對象程序設計基礎,3訪問對象中的成員 對象成員的引用方式必須使用運算符“.
45、”, 數(shù)據(jù)成員和方法的引用格式如下所示: 對象名.數(shù)據(jù)成員名 對象名.方法名(參數(shù)表) 例如基礎實例中的第6行和第20行等。,3.3 擴展知識面向對象程序設計高級,3.3.1 派生與繼承 繼承是面向對象程序設計的一種重要手段。在面向對象的程序設計中,采用繼承的機制可以有效地組織程序的結構,設計系統(tǒng)中的類,明確類間關系,充分利用已有的類來完成更復雜、深入的開發(fā),大大提高程序開發(fā)的效率,降低系統(tǒng)維護的工作量。 類繼承也稱為類派生,是指一個類不需要進行任何定義就可以擁有其他類的非私有成員,實現(xiàn)代碼重用。,3.3 擴展知識面向對象程序設計高級,父類與子類的層次關系,3.3 擴展知識面向對象程序設計高級
46、,3.3.2方法重載 方法重載的引入簡化程序員的工作,將方法的選擇交由Java系統(tǒng)負責。如果沒有重載,在編寫如下語句段 為 public int add1(int a, int b) return a+b; public float add2(float a, float b) return a+b; 現(xiàn)在有了方法重載,就可以將方法名寫成相同的名稱,如下所示: public int add(int a, int b) return a+b; public float add(float a, float b) return a+b; ,3.3 擴展知識面向對象程序設計高級,3.3.3接口 1接
47、口的定義 Java語言中的接口是通過interface關鍵字來聲明的, 其聲明格式如下: interface 接口名 接口體 ,3.3 擴展知識面向對象程序設計高級,一個清掃設備接口示例定義: interface CleaningEquipment /清掃設備接口 public int CleanerNumber = 2; public void CleanBegin(); public void CleanStop(); ,3.3 擴展知識面向對象程序設計高級,2接口的繼承 具體的語法格式為: interface 子接口名 extends 父接口名1, 父接口名2 接口體 ,3.3 擴展知識
48、面向對象程序設計高級,3接口的實現(xiàn) 接口中只聲明了方法成員,而沒有給出方法體,這樣還不能在程序中使用,要想使用接口中聲明的方法成員,就必須在實現(xiàn)接口的類中給出方法體,這個過程稱為接口的實現(xiàn)。 在類的聲明中,用implements子句來表示實現(xiàn)某個或某些接口。,3.3 擴展知識面向對象程序設計高級,3.3.4 包 所謂“包”就是一個設定的命名集合,它是Java提供的組織類和接口的一種有效工具,定義的類都加入某一個包中,并作為包的一部分存在,Java類中的成員變量和成員方法都在類中定義,使用包機制使得每個Java的變量和方法都可以用全限定的名字來表示,包括包名、類名和成員(方法和變量)名,各部分間
49、用點號分隔即可。,3.3 擴展知識面向對象程序設計高級,1包的創(chuàng)建 創(chuàng)建一個包非常簡單,在Java源文件的最開始包含一個package語句即可。 其語法格式如下: package 包名; 為了更好地使用包中的類,可以創(chuàng)建不同層次的包,這通常是由不同包的功能分類決定的。采用下面的形式可以創(chuàng)建一個包的層次結構: package p1.p2.p3;,3.3 擴展知識面向對象程序設計高級,2包的使用 定義好的包可以通過import語句來引用。在Java源文件中,import語句需要放在package語句之后,但在其他任何類定義之前。 import package1.package2.(classnam
50、e|*);,3.3 擴展知識面向對象程序設計高級,3Java的常用包 java.lang包 java.io包 java.util包 包 java.awt包 java.awt.image包 java.applet包 java.text包 java.beans包,3.4 擴展實例,3.4.1編寫步驟 在Eclipse中新建立一個項目CarDisp2,并在其中增加類文件CarDisp2.java,然后在其中輸入語句。,3.4 擴展實例,3.4.2 調試與運行 編寫完成后,測試 并運行程序,運行結 果如圖 。,第4章 計算器,4.1 基礎實例 4.2 基礎知識(一)界面設計與布局管理器 4.3 基礎知
51、識(二)事件處理 4.4 擴展知識異常處理 4.5 擴展實例,引 言,本章介紹了Java圖形用戶界面(GUI)和事件處理的基礎知識,包括圖形用戶界面中AWT和Swing兩個類庫中常用的容器和組件等;各類常用的事件處理機制。 同時還介紹了異常處理機制在Java語言中的應用,并綜合運用上述內容完成計算器的實例。,4.1 基礎實例,本實例是一個簡易計算器,功能是可對數(shù)字進行加(+)、減(-)、乘(*)、除(/)簡單算術計算。 4.1.1 編寫步驟 在Eclipse中建立一個項目,名稱為Calculator, 在項目中建立一個類文件,名稱與項目名相同,在類文件中輸入相應的程序代碼。,4.1 基礎實例,
52、4.1.2 運行結果 編寫完成后,可以測試程序的運行結果。 首先通過單擊按鈕選擇數(shù)值1,單擊運算符號選擇做什么運算,再選擇數(shù)值2,最后單擊等號按鈕,得出數(shù)值1和數(shù)值2運算了后的結果。,4.1 基礎實例,計算器程序界面,4.1 基礎實例,本程序的主要功能: 使用鼠標單擊數(shù)字按鈕,上方文本區(qū)會對應顯示出應數(shù)字內容。單擊”C”按鈕可以清空顯示回復0顯示。 當單擊對應的運算符號時,如果是第一次計算則會等待用戶選擇第二個數(shù)值,如果已經(jīng)計算過則把前面的結果顯示出來后,把結果作為第一個數(shù)值再進行計算。 當單擊等號按鈕,對前面選擇的數(shù)值和運算符進行運算得出結果??梢园呀Y果繼續(xù)用于計算,也可以再單擊其他數(shù)值進行
53、下一次的運算。,4.2 基礎知識(一)界面設計與布局管理器,圖形用戶界面GUI(Graphical User Interface)是程序提供給用戶操作的圖形界面。包括窗口、菜單、按鈕、文本區(qū)、復選框和其它各種屏幕元素。 Java中提供了AWT和Swing兩個類庫為GUI設計提供了豐富的功能。,4.2 基礎知識(一)界面設計與布局管理器,4.2.1 容器 1面板 2窗口(Window) 3框架(Frame),4.2 基礎知識(一)界面設計與布局管理器,4.2.2 AWT常用組件,4.2 基礎知識(一)界面設計與布局管理器,1框架(Frame) 用Frame創(chuàng)建一個Windows窗口,用于存放其它
54、的組件,通過add( )方法向容器中添加。 代碼: Frame f; /創(chuàng)建一個框架 f=ew Frame(“窗口標題名稱”); /實例化窗口對象f,4.2 基礎知識(一)界面設計與布局管理器,Frame類常用的構造方法,4.2 基礎知識(一)界面設計與布局管理器,2標簽(Label) 標簽是顯示文本的組件,可以顯示單行的字符串,起著傳遞消息的作用。用戶不能對其進行修改,只能查看其內容。 代碼: Label myLabel; /創(chuàng)建一個標簽 myLabel =new Label(“標簽文字”); /實例化標簽對象,設置標簽文字 添加標簽 f.add(myLabel); /把標簽添加到容器f中。
55、,4.2 基礎知識(一)界面設計與布局管理器,Label類常用的構造方法和常用的方法,4.2 基礎知識(一)界面設計與布局管理器,3按鈕(Button) 按鈕是用來觸發(fā)特定動作的組件。當用戶用鼠標單擊按鈕時,系統(tǒng)會自動執(zhí)行與該按鈕相聯(lián)系的程序,從而完成預先制定的功能。 代碼: Button myButton; myButton=new Button(“按鈕”); /實例化按鈕 添加標簽 f.add(myButton); /把按鈕添加到容器f中。,4.2 基礎知識(一)界面設計與布局管理器,Button類常用的構造方法和常用的方法,4.2 基礎知識(一)界面設計與布局管理器,4文本框(TextF
56、ield) 用來接收用戶通過鍵盤輸入的單行文本信息。通過事件處理機制,程序可以使用這些文本或數(shù)據(jù)信息。 代碼: TextField myTextField; myTextField =new TextField (“顯示的文本”,10); /實例化單行文本,并指定初始化文字和寬度為容納10個字符。,4.2 基礎知識(一)界面設計與布局管理器,TextField類常用的構造方法,4.2 基礎知識(一)界面設計與布局管理器,TextField類常用的方法及其說明 代碼 myTextField.getText(); myTextField.setText(“新文本內容”); /設置文本框顯示的文本。
57、 myTextField.setEditable(false); /設置文本框內容不能再編輯。,4.2 基礎知識(一)界面設計與布局管理器,5文本域(TextArea) 用來接收用戶通過鍵盤輸入的多行文本信息。 代碼: TextArea my TextArea; my TextArea =new TextArea (“顯示的文本”,10,3); /實例化多行文本區(qū),并指定初始化文字和該文本區(qū)的行數(shù)和列數(shù)。,4.2 基礎知識(一)界面設計與布局管理器,TextArea類常用的構造方法,4.2 基礎知識(一)界面設計與布局管理器,TextArea類常用的方法,4.2 基礎知識(一)界面設計與布局管
58、理器,6復選框(Checkbox) 復選框可以讓用戶進行多項選擇。復選框有兩種狀態(tài),分別為“開”和“關”。當用戶點中復選框時候,復選框的狀態(tài)就會改變。 代碼: Checkbox myCheckbox; myCheckbox=new Checkbox(“復選框”); /創(chuàng)建復選框,并指定復選框的標簽內容。,4.2 基礎知識(一)界面設計與布局管理器,Checkbox類常用的構造方法,4.2 基礎知識(一)界面設計與布局管理器,7單選按鈕組(CheckboxGroup) 單選按鈕是在復選框的基礎上創(chuàng)建的。單選按鈕的選擇是互斥的,當用戶選中了組中的一個按鈕后,其他按鈕自動處于未選中狀態(tài)。 代碼: C
59、heckboxGroup myCheckboxGroup=new CheckboxGroup();/創(chuàng)建一個單選按鈕組 Checkbox myCheckbox1=new Checkbox(“單選1”,myCheckboxGroup,true);/創(chuàng)建一個復選框1,并把其加入到上面創(chuàng)建的單選按鈕組中,設置默認為選中狀態(tài)。 Checkbox myCheckbox2=new Checkbox(“單選2”,myCheckboxGroup,false);/創(chuàng)建一個復選框2,加入單選按鈕組中,設置默認狀態(tài)為未選中狀態(tài)。 最后將組件放置到容器中時,只把復選框添加即可 f.add(myCheckbox1);/向f中添加復選框對象,而不是單選按鈕組。 f.add(myCheckbox2);,4.2 基礎知識(一)界面設計與布局管理器,CheckboxGrou類常用的構造方法,4.2 基礎知識(一)界面設計與布局管理器,8下拉列表(Choice) 下拉列表的選項框每次只能顯示一個選項。如果希望查看或選擇其他的選項,需點擊下拉列表右邊的下箭頭,并從選項框中選擇一個選項。 代碼: Choice
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省綿陽市安州區(qū)2025-2026學年九年級上學期1月期末數(shù)學試題(含答案)
- 2025-2026學年新疆喀什地區(qū)八年級(上)期末數(shù)學試卷(含答案)
- 五年級下冊數(shù)學試卷及答案
- 無菌技術試題及答案
- 文學常識0試題及答案
- 電氣自動化技術要領
- 2026年經(jīng)濟師造紙工業(yè)經(jīng)濟專業(yè)知識要點練習(含解析)
- 七年級期末試題帶答案和解析(2021-2022年河南省鄧州市)
- 初中信息技術教程
- 時事政治試題版及答案
- 2026新疆阿合奇縣公益性崗位(鄉(xiāng)村振興專干)招聘44人筆試參考題庫及答案解析
- 紀委監(jiān)委辦案安全課件
- 兒科pbl小兒肺炎教案
- 腹部手術圍手術期疼痛管理指南(2025版)
- JJG(吉) 145-2025 無創(chuàng)非自動電子血壓計檢定規(guī)程
- 2025年學校領導干部民主生活會“五個帶頭”對照檢查發(fā)言材料
- 顱內壓監(jiān)測與護理
- 浙江省紹興市上虞區(qū)2024-2025學年七年級上學期語文期末教學質量調測試卷(含答案)
- 智慧城市建設技術標準規(guī)范
- EPC總承包項目管理組織方案投標方案(技術標)
- 過年留人激勵方案
評論
0/150
提交評論