版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
項目1Java程序開發(fā)入門項目1Java程序開發(fā)入門項目2Java編程基礎(chǔ)項目3面向?qū)ο蟪绦蛟O(shè)計項目4數(shù)據(jù)與異常處理項目5圖形化用戶界面設(shè)計項目6多線程項目7輸入輸出及文件處理項目8數(shù)據(jù)庫及網(wǎng)絡(luò)編程全套可編輯PPT課件任務(wù)1初識程序設(shè)計任務(wù)3編寫第一個Java程序 任務(wù)2搭建Java程序開發(fā)環(huán)境教學(xué)內(nèi)容任務(wù)描述任務(wù)1初識程序設(shè)計計算機(jī)是人類20世紀(jì)最偉大的發(fā)明之一,它是有史以來第一種能夠完成真正意義上的復(fù)雜的“學(xué)習(xí)”功能的機(jī)器,計算機(jī)的超級計算能力可以把人們的工作效率提升成千上萬倍,從而把人們從最直接、最原始的生產(chǎn)第一線上解放出來,轉(zhuǎn)而從事使用和操縱計算機(jī)的工作。因此,在學(xué)習(xí)Java程序設(shè)計語言之前,需要對計算機(jī)的概念有所了解,并掌握編程解決問題的步驟,這對初學(xué)者尤為重要。
必備知識計算機(jī)的概念計算機(jī)的定義:計算機(jī)是根據(jù)指令操作數(shù)據(jù)的設(shè)備。計算機(jī)的特性:功能性和可編程性。功能性指對數(shù)據(jù)的操作,表現(xiàn)為數(shù)據(jù)計算、輸入輸出處理和結(jié)果存儲等??删幊绦灾杆梢愿鶕?jù)一系列指令自動地、可預(yù)測地、準(zhǔn)確地完成操作者的意圖。任務(wù)1初識程序設(shè)計必備知識軟件運行原理任務(wù)1初識程序設(shè)計計算機(jī)的基本原理是存儲程序和控制程序。必備知識程序設(shè)計語言任務(wù)1初識程序設(shè)計程序設(shè)計語言是軟件開發(fā)人員與計算機(jī)進(jìn)行溝通和交流的工具,是計算機(jī)能夠識別的語言。機(jī)器語言是一種二進(jìn)制語言,它直接使用二進(jìn)制代碼表達(dá)指令。匯編語言使用助記符來代替機(jī)器指令的操作碼和操作數(shù)。低級語言:高級語言:面向過程語言,C語言。面向?qū)ο笳Z言,Java語言。任務(wù)實施在實例3-2中,通過“ph1.price=3999”將p1對象的price屬性賦值為3999,沒有對p2對象的price屬性進(jìn)行賦值,但p2對象的price屬性也是有值的,其值為0。解決計算問題包括6個步驟,分別是:分析問題劃分邊界設(shè)計算法編寫程序調(diào)試測試升級維護(hù)計算思維的創(chuàng)造過程技術(shù)實現(xiàn)過程任務(wù)1初識程序設(shè)計拓展提升我們學(xué)習(xí)一門編程語言,首先要掌握該語言的語法;其次要學(xué)會結(jié)合計算問題設(shè)計程序結(jié)構(gòu),從程序塊、功能塊角度理解并設(shè)計整個程序框架;最后要掌握解決問題的能力,即從理解計算問題開始,設(shè)計問題的解決方法,并通過編程語言來實現(xiàn)。任務(wù)1初識程序設(shè)計任務(wù)描述作為一個開發(fā)者在使用Java語言進(jìn)行開發(fā)工作之前需要安裝和配置Java開發(fā)環(huán)境,這是軟件開發(fā)的首要階段,也是程序員必須掌握的技術(shù)。Java的開發(fā)工具有很多種,最簡單的有“記事本”與控制臺的組合,此外還有JCreator、NetBeans、JBuilder和Eclipse等。Java集成開發(fā)環(huán)境的使用方法類似,在學(xué)習(xí)過程中,只需要掌握其中一種即可。本任務(wù)以JDK和Eclipse為例介紹集成開發(fā)環(huán)境的基本使用方法。任務(wù)2搭建Java程序開發(fā)環(huán)境必備知識Java運行機(jī)制Java程序的運行必須經(jīng)過編寫、編譯和運行三個步驟。Java虛擬機(jī)(JavaVirtualMachine,JVM),是Java平臺無關(guān)性的基礎(chǔ)。任務(wù)2搭建Java程序開發(fā)環(huán)境必備知識JDK簡介任務(wù)2搭建Java程序開發(fā)環(huán)境SUN公司提供了一套Java開發(fā)環(huán)境,簡稱JDK(JavaDevelopmentKit)。Java編譯工具(javac.exe)Java運行工具(java.exe)ava文檔生成工具(javadoc.exe)Java打包工具(jar.exe)必備知識Java的不同版本任務(wù)2搭建Java程序開發(fā)環(huán)境☆J2SE標(biāo)準(zhǔn)版本:是為開發(fā)普通桌面和商務(wù)應(yīng)用程序提供的解決方案。☆J2EE企業(yè)版本:為企業(yè)級用戶提供解決方案的版本?!頙2ME微型版本:為移動設(shè)備與嵌入式設(shè)備的應(yīng)用開發(fā)提供服務(wù)支持的版本。必備知識Eclipse概述任務(wù)2搭建Java程序開發(fā)環(huán)境Eclipse是一個完全免費的、開放源代碼的、可擴(kuò)展的Java集成開發(fā)環(huán)境。Eclipse的設(shè)計思想是“一切皆插件”。就其本身而言,它只是一個框架和一組服務(wù),所有功能都是將插件組件加入到Eclipse框架中來實現(xiàn)。任務(wù)實施下載、安裝和配置JDK;下載、安裝和配置Eclipse。任務(wù)2搭建Java程序開發(fā)環(huán)境實施思路任務(wù)實施1.下載、安裝和配置JDK任務(wù)2搭建Java程序開發(fā)環(huán)境實施步驟任務(wù)實施2.下載、安裝和配置Eclipse任務(wù)2搭建Java程序開發(fā)環(huán)境實施步驟拓展提升Java是在C++的基礎(chǔ)上再一次改進(jìn)后的編程語言,側(cè)重于網(wǎng)絡(luò)和數(shù)據(jù)庫編程。C語言、C++語言和Java都是編程語言,基本語法類似,但具體內(nèi)容差別較大。C語言是一種結(jié)構(gòu)化編程語言,Java語言是一種面向?qū)ο缶幊陶Z言。任務(wù)2搭建Java程序開發(fā)環(huán)境任務(wù)描述任務(wù)3編寫第一個Java程序本任務(wù)是分別使用“記事本”與控制臺組合的方式和Eclipse集成開發(fā)環(huán)境中編寫一個Java程序,實現(xiàn)輸出一個字符串:“WelcometoJavaWorld!”。
必備知識Java應(yīng)用程序//本文件所屬包名packagecom.example01;//導(dǎo)入所需要的包importjava.io.*;//定義類publicclassWelcome{//Java應(yīng)用程序執(zhí)行入口
publicstaticvoidmain(String[]args){...//在這里編寫代碼
}}Java應(yīng)用程序的基本結(jié)構(gòu)
任務(wù)3編寫第一個Java程序必備知識JavaApplet小程序//本文件所屬包名packagecom.example02;//導(dǎo)入所需要的包importjava.applet.*;importjava.awt.*;publicclassWelcomeextendsApplet{ publicstaticvoidmain(String[]args){...//在這里編寫代碼 }}JavaApplet的基本結(jié)構(gòu)
任務(wù)3編寫第一個Java程序必備知識JavaApplet小程序<HTML><HEAD><TITLE>Applet小程序?qū)嵗?lt;/TITLE></HEAD><BODY><APPLETCODE="Welcome.class"WIDTH=500HEIGHT=150></APPLET></BODY></HTML>以下是HTML頁面代碼
任務(wù)3編寫第一個Java程序任務(wù)實施Java應(yīng)用程序任務(wù)3編寫第一個Java程序拓展提升Java程序運行時有一個入口,Java定義該入口的格式:任務(wù)3編寫第一個Java程序publicstaticvoidmain(String[]args)main方法中有一個String數(shù)組類型的參數(shù)“args”,參數(shù)可以通過命令行傳入。本章小結(jié)計算機(jī)的定義軟件運行原理程序設(shè)計語言解決計算問題的步驟Java運行機(jī)制JDK簡介Eclipse概述項目1Java程序開發(fā)入門Java程序的基本結(jié)構(gòu)使用Eclipse集成開發(fā)環(huán)境運行Java程序的基本步驟本章結(jié)束模塊2Java編程基礎(chǔ)任務(wù)1求圓的面積和周長 任務(wù)3求解一元二次方程 任務(wù)2計算某個月份的天數(shù)教學(xué)內(nèi)容任務(wù)描述任務(wù)1求圓的面積和周長編寫程序AreaAndPerimeterOfCircle,當(dāng)程序運行時,通過圓的半徑計算圓的面積和周長,在控制臺輸出結(jié)果。要求:圓的周長只保留整數(shù)部分,舍掉小數(shù)部分。必備知識Java的基本語法Java中的程序代碼必須放在一個類中,可以簡單地把類理解成一個Java程序。類需要使用class關(guān)鍵字定義,在class前面可以有一些修飾符,具體如下:Java中的代碼分為結(jié)構(gòu)定義語句和功能執(zhí)行語句,其中,結(jié)構(gòu)定義語句用于聲明一個類或方法,功能執(zhí)行語句用于實現(xiàn)具體的功能。任務(wù)1求圓的面積和周長必備知識Java語言提供了3種形式的注釋:單行注釋、多行注釋和文檔注釋。(1)單行注釋單行注釋是對程序中的某一行代碼進(jìn)行解釋,用符號“//”表示。“//”后面為被注釋的內(nèi)容,注釋格式如下:任務(wù)1求圓的面積和周長Java的基本語法必備知識(2)多行注釋多行注釋通過“/*”與“*/”符號進(jìn)行標(biāo)記,它們必須成對出現(xiàn),在它們之間輸入的注釋內(nèi)容可以換行。注釋格式如下:任務(wù)1求圓的面積和周長Java的基本語法必備知識(3)文檔注釋當(dāng)這類注釋出現(xiàn)在任何聲明(如類的聲明、類的成員變量的聲明或者類的成員方法的聲明)之前時,會被JavaDoc文檔工具讀取作為JavaDoc文檔內(nèi)容,文檔是對代碼結(jié)構(gòu)和功能的描述。該注釋的格式如下:任務(wù)1求圓的面積和周長Java的基本語法必備知識Java中的標(biāo)識符在編程過程中,經(jīng)常需要在程序中定義一些符號來標(biāo)記一些名稱,如,包名、類名、方法名、參數(shù)名、變量名等,這些符號被稱為標(biāo)識符。也就是說,標(biāo)示符就是一個名字,用于區(qū)分程序中的各個元素。標(biāo)識符必須以字母、下劃線(_)或美元符號($)開頭,其余部分可以包含被用來作為運算符(像+,*,/)以外的任何字符,但最好使用字母、數(shù)字和下劃線。任務(wù)1求圓的面積和周長必備知識Java中的標(biāo)識符定義標(biāo)識符的規(guī)則1.包名所有字母一律小寫。2.類名和接口名每個單詞的首字母都要大寫。3.常量名字母都大寫,單詞之間用下劃線連接。4.變量名和方法名的第一個單詞首字母小寫,從第二個單詞開始每個單詞首字母大寫。5.在程序中,應(yīng)該盡量使用有意義的英文單詞來定義標(biāo)識符,使得程序便于閱讀。例如:使用userName表示用戶名,passWord表示密碼。任務(wù)1求圓的面積和周長必備知識Java中的關(guān)鍵字任務(wù)1求圓的面積和周長必備知識Java中的常量與變量任務(wù)1求圓的面積和周長1.常量常量是指在程序運行過程中值不會再發(fā)生變化的量,是不能改變的數(shù)據(jù)。(1)布爾型常量:true、false說明:布爾型常量用于區(qū)分一個事物的真與假。(2)整型常量說明:整型常量是整數(shù)類型的數(shù)據(jù)。必備知識Java中的常量與變量任務(wù)1求圓的面積和周長(3)浮點型常量說明:浮點型常量就是帶有小數(shù)部分的實數(shù),分別單精度類型和雙精度類型。(4)字符常量說明:用單引號括起來的單個字符為字符常量。(5)字符串常量說明:用一對雙引號括起來的字符序列為字符串常量。必備知識Java中的常量與變量任務(wù)1求圓的面積和周長2.變量變量是指在程序運行過程中其值可以發(fā)生變化的量。(1)變量的聲明變量使用之前,必須先定義。變量的聲明包括兩個部分:變量的數(shù)據(jù)類型和變量的名稱。變量是通過下列形式的聲明語向?qū)崿F(xiàn)的:必備知識Java中的常量與變量任務(wù)1求圓的面積和周長在程序中可以使用以下語句聲明變量:必備知識Java中的常量與變量任務(wù)1求圓的面積和周長(2)變量的作用域☆成員變量:成員變量是指在類中聲明的變量。它的作用范圍在類中是全局的,可以被該類的方法訪問,所以在這個類中,也可以稱它為全局變量。☆方法參數(shù)變量:作為方法參數(shù)聲明的變量的作用域是整個方法?!钫Z句塊的局部變量:語句塊的局部變量是指在語句塊中定義的變量,其作用域是整個語句塊。☆異常處理的局部變量:異常處理參數(shù)變量的作用域是在異常處理塊中,該變量是將異常處理參數(shù)傳遞給異常處理塊,與方法參數(shù)變量類似。必備知識Java基本數(shù)據(jù)類型任務(wù)1求圓的面積和周長Java數(shù)據(jù)類型分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型,基本數(shù)據(jù)類型下表所示:必備知識數(shù)據(jù)類型轉(zhuǎn)換任務(wù)1求圓的面積和周長數(shù)據(jù)類型轉(zhuǎn)換是將一種數(shù)據(jù)類型的值轉(zhuǎn)換成另一種數(shù)據(jù)類型的值的操作。(1)自動類型轉(zhuǎn)換不同類型數(shù)據(jù)間的優(yōu)先關(guān)系為:byte→short→int→long→float→double。另外,char型可以自動轉(zhuǎn)換為int型。必備知識數(shù)據(jù)類型轉(zhuǎn)換任務(wù)1求圓的面積和周長(2)強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換是將取值范圍較大的類型的數(shù)值轉(zhuǎn)換成取值范圍較小的類型的數(shù)值。強(qiáng)制類型轉(zhuǎn)換的前提是數(shù)據(jù)類型要兼容,并且源類型的取值范圍大于目標(biāo)類型。強(qiáng)制類型轉(zhuǎn)換可能會損失精度。必備知識Java運算符與表達(dá)式任務(wù)1求圓的面積和周長1.賦值運算符與賦值表達(dá)式在程序中當(dāng)需要為不同的變量賦值時,就必須使用賦值運算“=”例如:必備知識Java運算符與表達(dá)式任務(wù)1求圓的面積和周長2.算術(shù)運算符與算術(shù)表達(dá)式必備知識Java運算符與表達(dá)式任務(wù)1求圓的面積和周長3.關(guān)系運算符與關(guān)系表達(dá)式必備知識Java運算符與表達(dá)式任務(wù)1求圓的面積和周長4.邏輯運算符與邏輯表達(dá)式必備知識Java運算符與表達(dá)式任務(wù)1求圓的面積和周長5.位運算符必備知識Java運算符與表達(dá)式任務(wù)1求圓的面積和周長6.條件運算符條件運算符為“?:”,它有三個運算對象,因此是一個三目運算符。使用條件運算符的的語法格式如下:如果“布爾表達(dá)式”的結(jié)果為true,就計算“value1”,而且這個計算結(jié)果也就是運算符最終產(chǎn)生的值。如果“布爾表達(dá)式”的結(jié)果為false,就計算“value2”,同樣,它的結(jié)果也就成為了運算符最終產(chǎn)生的值。任務(wù)實施任務(wù)1求圓的面積和周長拓展提升Java語言規(guī)定了運算符的優(yōu)先級與結(jié)合性。在表達(dá)式求值時,先按照運算符的優(yōu)先級由高到低的次序執(zhí)行。對于同優(yōu)先級的運算符,要按照它們的結(jié)合性來決定。運算符的結(jié)合性決定它們是從左到右計算還是從右到左。任務(wù)1求圓的面積和周長任務(wù)描述本任務(wù)要編寫一個計算某個月份的天數(shù)的程序,要求根據(jù)用戶輸入的月份,判斷出月份所包含的天數(shù)。任務(wù)2計算某個月份的天數(shù)必備知識順序結(jié)構(gòu)任務(wù)2計算某個月份的天數(shù)順序結(jié)構(gòu)是最簡單的程序結(jié)構(gòu),也是最常用的程序結(jié)構(gòu),只要按照解決問題的順序?qū)懗鱿鄳?yīng)的語句即可,其執(zhí)行順序是從上往下,依次執(zhí)行。流程圖必備知識選擇結(jié)構(gòu)任務(wù)2計算某個月份的天數(shù)if條件語句if(條件表達(dá)式){
語句塊;}語法格式流程圖必備知識選擇結(jié)構(gòu)任務(wù)2計算某個月份的天數(shù)【實例2-1】運行結(jié)果必備知識選擇結(jié)構(gòu)任務(wù)2計算某個月份的天數(shù)if-else條件語句if(條件表達(dá)式){
語句塊1;}else{
語句塊2;}語法格式流程圖必備知識選擇結(jié)構(gòu)任務(wù)2計算某個月份的天數(shù)【實例2-2】運行結(jié)果必備知識選擇結(jié)構(gòu)任務(wù)2計算某個月份的天數(shù)if-elseif-else條件語句if(條件表達(dá)式1){
語句塊1;}elseif(條件表達(dá)式2){
語句塊2;……}elseif(條件表達(dá)式n){
語句塊n;}else{
語句塊n+1;}語法格式流程圖必備知識選擇結(jié)構(gòu)任務(wù)2計算某個月份的天數(shù)【實例2-3】運行結(jié)果必備知識選擇結(jié)構(gòu)程序設(shè)計任務(wù)2計算某個月份的天數(shù)switch語句switch(表達(dá)式){case常量1:[語句塊1;][break;]case常量2:[語句塊2;][break;]……case常量n:[語句塊n;][break;][default:語句塊n+1;]}語法格式說明:switch語句在其開始處使用一個簡單的表達(dá)式。表達(dá)式的結(jié)果將與結(jié)構(gòu)中每個case子句進(jìn)行比較。如果匹配,則執(zhí)行與該case關(guān)聯(lián)的語句塊,如果遇到break則跳出switch語句,執(zhí)行switch后面的語句。如果表達(dá)式的結(jié)果與所有case子句均不匹配,則執(zhí)行default后面的語句。必備知識選擇結(jié)構(gòu)任務(wù)2計算某個月份的天數(shù)【實例2-4】運行結(jié)果任務(wù)實施1.使用if-else條件語句實現(xiàn)的代碼任務(wù)2計算某個月份的天數(shù)任務(wù)實施2.使用switch語句實現(xiàn)的代碼任務(wù)2計算某個月份的天數(shù)拓展提升嵌套if語句,即if語句里面嵌套另一個if語句。同樣,if-else語句和if-elseif-else也可以嵌套另一個if結(jié)構(gòu)的語句。它們之間也可以互相嵌套,來完成更深層次的判斷,其語法格式如下:任務(wù)2計算某個月份的天數(shù)if(布爾表達(dá)式1){if(布爾表達(dá)式2){語句塊1;}else{語句塊2;}else{if(布爾表達(dá)式3){語句塊3;}}語法格式任務(wù)描述給出一個一元二次方程,比如x*x+x*4=12,其中x是未知數(shù)。編寫一個程序?qū)崿F(xiàn)求出x的數(shù)值,使它滿足等式,并輸出結(jié)果。要求:x和乘數(shù)的取值范圍都在0-9,用for循環(huán)和while循環(huán)分別實現(xiàn)。任務(wù)3求解一元二次方程必備知識循環(huán)結(jié)構(gòu)任務(wù)3求解一元二次方程
循環(huán)結(jié)構(gòu)的作用是反復(fù)執(zhí)行一段代碼,直到滿足終止循環(huán)的條件為止。Java語言中提供的循環(huán)語句有:while語句、do-while語句和for語句。必備知識循環(huán)結(jié)構(gòu)while語句任務(wù)3求解一元二次方程while(條件表達(dá)式){循環(huán)語句塊;}語法格式流程圖必備知識循環(huán)結(jié)構(gòu)任務(wù)3求解一元二次方程【實例2-5】運行結(jié)果必備知識循環(huán)結(jié)構(gòu)do-while語句任務(wù)3求解一元二次方程//do-while語句的格式如下:do{循環(huán)體語句;}while(條件表達(dá)式);語法格式流程圖必備知識循環(huán)結(jié)構(gòu)任務(wù)3求解一元二次方程【實例2-6】運行結(jié)果必備知識循環(huán)結(jié)構(gòu)for語句任務(wù)3求解一元二次方程語法格式流程圖//for語句的格式如下:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){
循環(huán)體語句;}必備知識循環(huán)結(jié)構(gòu)任務(wù)3求解一元二次方程【實例2-7】運行結(jié)果必備知識跳轉(zhuǎn)語句任務(wù)3求解一元二次方程【實例2-8】運行結(jié)果break語句必備知識跳轉(zhuǎn)語句任務(wù)3求解一元二次方程【實例2-9】運行結(jié)果continue語句任務(wù)實施1.使用for語句實現(xiàn)的代碼任務(wù)3求解一元二次方程任務(wù)實施2.使用while語句實現(xiàn)的代碼任務(wù)3求解一元二次方程本章小結(jié)Java基本語法常量與變量Java數(shù)據(jù)類型運算符與表達(dá)式選擇結(jié)構(gòu)基本流程選擇結(jié)構(gòu)控制語句項目2Java編程基礎(chǔ)學(xué)習(xí)了while語句、do-while語句、for語句的使用方法學(xué)習(xí)了break語句、continue語句的使用方法本章結(jié)束項目3面向?qū)ο蟪绦蛟O(shè)計任務(wù)1描述教師個人信息 任務(wù)4員工薪資信息管理任務(wù)2借書卡程序設(shè)計教學(xué)內(nèi)容任務(wù)3保護(hù)個人“隱私”信息任務(wù)5模擬使用USB接口 任務(wù)描述任務(wù)1描述教師個人信息一名教師的個人信息包括姓名、年齡、性別和體重等。任務(wù)要求在計算機(jī)中使用Java語言對教師進(jìn)行描述,并用Java代碼實現(xiàn),最后打印輸出教師的信息。必備知識面向?qū)ο蟾攀鰧ο螅簩ο螅∣bject)是系統(tǒng)中用來描述客觀事物的一個實體,它是構(gòu)成系統(tǒng)的一個基本單位。一個對象由一組屬性和對這組屬性進(jìn)行操作的一組服務(wù)組成。類:日常生活中把眾多事物進(jìn)行歸納、劃分或分類,是人類在認(rèn)識客觀世界時經(jīng)常采用的思維方法。任務(wù)1描述教師個人信息1.面向?qū)ο蠡靖拍畋貍渲R面向?qū)ο蟾攀鱿ⅲ合⑹菍ο笾g進(jìn)行通信的一種機(jī)制,用以實現(xiàn)對象之間的相互通信。類與對象的關(guān)系:類中的屬性對應(yīng)著對象的特征,類中的方法則對應(yīng)著對象的行為。任務(wù)1描述教師個人信息必備知識面向?qū)ο蟾攀鋈蝿?wù)1描述教師個人信息2.面向?qū)ο蟮暮诵奶卣鞣庋b性繼承性繼承性必備知識任務(wù)1描述教師個人信息類的定義[修飾符]class類名{//定義屬性部分成員變量1;……成員變量n;//定義方法部分方法1;……方法n;}語法格式類是Java語言的基本單位,任何一個Java程序都由類組成,設(shè)計程序的過程則需要先從現(xiàn)實問題中找出可以實現(xiàn)的類,并用Java語句進(jìn)行定義。必備知識任務(wù)1描述教師個人信息類的定義【實例3-1】必備知識對象的使用一個對象的使用可以分為3個階段:對象的創(chuàng)建、使用和銷毀。1.對象的創(chuàng)建創(chuàng)建對象的語法格式為:例如,創(chuàng)建一個Phone對象,具體示例如下:任務(wù)1描述教師個人信息必備知識2.對象的使用在創(chuàng)建Phone對象后,可以通過對象的引用來訪問對象所有的成員,具體格式如下:任務(wù)1描述教師個人信息對象的使用必備知識任務(wù)1描述教師個人信息【實例3-2】運行結(jié)果對象的使用必備知識3.對象的銷毀:垃圾回收器Java中使用最頻繁的一種對象銷毀方法。任務(wù)1描述教師個人信息對象的使用【實例3-2】運行結(jié)果任務(wù)實施任務(wù)1描述教師個人信息拓展提升本任務(wù)中對Teacher類的測試是在類的main()方法中進(jìn)行的,在實際項目中每一個有實際含義的類都要單獨定義,而測試使用的main()方法也應(yīng)該放在一個單獨的類中,對以上任務(wù)進(jìn)行擴(kuò)展,要求新建一個Task01測試類,對Teacher類進(jìn)行測試。每個類單獨為一個源代碼文件。任務(wù)1描述教師個人信息任務(wù)描述學(xué)生在日常學(xué)習(xí)生活中經(jīng)常會用到借書卡,每張借書卡信息包含持卡人賬號、持卡人姓名、已借書數(shù)、已還書數(shù)、可借書數(shù)等信息,使用借書卡可以完成借書、還書和查詢的功能。要求:根據(jù)持卡人不同的操作,顯示不同的信息。當(dāng)借書操作后,顯示本次借書數(shù);當(dāng)還書操作后,顯示本次還書數(shù);當(dāng)查詢時,顯示可借書數(shù)。任務(wù)2借書卡程序設(shè)計必備知識方法的調(diào)用任務(wù)2借書卡程序設(shè)計方法在使用時一般要先創(chuàng)建類的對象,再通過對象調(diào)用方法,可以使用“.”操作符實現(xiàn)對其方法調(diào)用。1.無參方法的調(diào)用例如:Teacherzhangsan=newTeacher();zhangsan.teach();必備知識方法的調(diào)用任務(wù)2借書卡程序設(shè)計3.靜態(tài)方法的調(diào)用例如:2.有參方法的調(diào)用例如:publicstaticvoideat(){…}Teacher.eat();zhangsan.speak(“hello”);Stringt1=zhangsan.speak(“hello”);必備知識【實例3-4】運行結(jié)果任務(wù)2借書卡程序設(shè)計方法的調(diào)用必備知識構(gòu)造方法任務(wù)2借書卡程序設(shè)計構(gòu)造方法的特點:1.構(gòu)造方法名必須與它所在的類名完全相同。2.構(gòu)造方法一般都用public來聲明并且沒有返回值類型的聲明。3.構(gòu)造方法中不能使用return語句返回任何值。構(gòu)造方法定義格式如下:[訪問權(quán)限]類名稱([參數(shù)1,參數(shù)2,……]){ //程序語句
//構(gòu)造方法沒有返回值}語法格式必備知識【實例3-5】運行結(jié)果任務(wù)2借書卡程序設(shè)計構(gòu)造方法必備知識【實例3-6】運行結(jié)果任務(wù)2借書卡程序設(shè)計構(gòu)造方法必備知識方法重載任務(wù)2借書卡程序設(shè)計方法重載的概念方法重載是指在一個類中有多個方法具有相同的名字,但是這些方法的參數(shù)不同,所謂的不同是指參數(shù)的個數(shù)不同,參數(shù)類型不同,參數(shù)的順序不同。必備知識方法重載任務(wù)2借書卡程序設(shè)計方法重載的實現(xiàn)publicvoidmethod(Strings);publicvoidmethod(ints);publicvoidmethod(Strings,inti);publicvoidmethod(Strings);publicvoidmethod(Strings,inti);publicvoidmethod(inti,Strings);1.參數(shù)類型不同。例如:2.參數(shù)個數(shù)不同。例如:3.參數(shù)順序不同。例如:必備知識【實例3-7】運行結(jié)果任務(wù)2借書卡程序設(shè)計方法重載必備知識【實例3-8】運行結(jié)果任務(wù)2借書卡程序設(shè)計方法重載必備知識this關(guān)鍵字任務(wù)2借書卡程序設(shè)計1.通過this關(guān)鍵字可以明確地去訪問一個類的成員變量,解決與局部變量名稱沖突問題。2.通過this關(guān)鍵字也可以調(diào)用成員方法。3.通過this關(guān)鍵字調(diào)用構(gòu)造方法。構(gòu)造方法是在實例化對象時被Java虛擬機(jī)自動調(diào)用的,在程序中不能像調(diào)用其它方法一樣去調(diào)用構(gòu)造方法,但可以在一個構(gòu)造方法中使用“this([參數(shù)1,參數(shù)2…])”的形式來調(diào)用其它的構(gòu)造方法。必備知識【實例3-9】運行結(jié)果任務(wù)2借書卡程序設(shè)計this關(guān)鍵字必備知識包的定義與使用任務(wù)2借書卡程序設(shè)計1.定義包在Java中,使用package語句聲明包,具體的格式如下:例如:必備知識包的定義與使用任務(wù)2借書卡程序設(shè)計2.使用包Java中提供了import關(guān)鍵字,使用import關(guān)鍵字可以在程序中一次導(dǎo)入某個指定包下的類,這樣就不必在每次用到該類時都書寫完整類名了,具體格式如下:例如:導(dǎo)入系統(tǒng)類庫中的Date表示日期的類。任務(wù)實施1.在BookCard類中定義成員變量任務(wù)2借書卡程序設(shè)計任務(wù)實施2.在BookCard類中分別定義有參的構(gòu)造方法和無參的構(gòu)造方法任務(wù)2借書卡程序設(shè)計任務(wù)實施3.在BookCard類中定義借書Borrow(int)、還書TheReturn(int)和查詢Query()等成員方法任務(wù)2借書卡程序設(shè)計任務(wù)實施4.在測試類Task02中,創(chuàng)建BookCard類的兩個對象,分別利用有參的構(gòu)造方法和使用“對象名.方法”的形式調(diào)用方法,完成具體的功能。任務(wù)2借書卡程序設(shè)計拓展提升Java的類中,一般方法都需要有返回值,并且調(diào)用方法后都需要使用返回值進(jìn)行下一步操作,對于有返回值的方法一定要注意方法的返回值與方法體內(nèi)的return語句對應(yīng)起來。即使方法沒有確定的返回值也可以使用Boolean類型作為返回值,用于標(biāo)識方法是否被執(zhí)行完畢。任務(wù)2借書卡程序設(shè)計任務(wù)描述在現(xiàn)實生活中,進(jìn)行數(shù)據(jù)處理是要符合實際意義的,比如描述個人信息時,年齡和體重的值都不能小于0,那么如何實現(xiàn)對個人信息屬性值的控制呢?
本任務(wù)要求用Java實現(xiàn)對個人“隱私”信息的控制,當(dāng)年齡值或體重值小于0時輸出提示錯誤信息。任務(wù)3保護(hù)個人“隱私”信息必備知識封裝的概念封裝是把系統(tǒng)實現(xiàn)的過程和相關(guān)數(shù)據(jù)包圍起來,通過已定義的界面對數(shù)據(jù)進(jìn)行訪問。1.指把對象的屬性和行為看成一個密不可分的整體,將這兩者“封裝”在一個不可分割的獨立單位(即對象)中。2.指“信息隱蔽”,把不需要讓外界知道的信息隱藏起來,或是有些對象的屬性及行為允許外界使用,但不允許更改;而另一些屬性或行為,則不允許外界知曉;或只允許使用對象的功能,而隱蔽對象功能實現(xiàn)細(xì)節(jié)。任務(wù)3保護(hù)個人“隱私”信息必備知識如何實現(xiàn)封裝任務(wù)3保護(hù)個人“隱私”信息一個私有的屬性(變量),使用private來聲明私有變量。例如:一個公有的讀操作訪問器,使用getXxx()方法來完成。例如:一個公有的寫操作訪問器,使用setXxx方法來完成。例如:privateStringage; publicStringgetAge(){//方法體}publicvoidsetAge(intmyage){//方法體}必備知識【實例3-13】運行結(jié)果任務(wù)3保護(hù)個人“隱私”信息如何實現(xiàn)封裝必備知識Java的修飾符Java的修飾符提供了對類、成員變量和成員方法的訪問控制,從而限制了對其的訪問和調(diào)用。1.訪問控制修飾符2.非訪問控制修飾符Java的非訪問控制修飾符包括static、final、abstract、synchronized等。任務(wù)3保護(hù)個人“隱私”信息任務(wù)實施任務(wù)3保護(hù)個人“隱私”信息1.在Person類中定義私有的成員變量和成員方法vv任務(wù)實施任務(wù)3保護(hù)個人“隱私”信息2.在Person類中分別定義無參的構(gòu)造方法和有參的構(gòu)造方法v任務(wù)實施任務(wù)3保護(hù)個人“隱私”信息3.在Person類中定義每一個私有成員變量的共有方法getXxx()方法和setXxx()方法vv任務(wù)實施任務(wù)3保護(hù)個人“隱私”信息4.定義測試類Task03,創(chuàng)建Person類的兩個對象p1和p2,分別利用有參的構(gòu)造方法和使用“對象名.方法”的形式調(diào)用方法,完成具體的功能。v拓展提升方法按照實際需要可分為public與private。同樣構(gòu)造方法也有public與private之分。到目前為止,所使用的構(gòu)造方法均屬于public,所以新創(chuàng)建的對象也都可以自動調(diào)用它。如果構(gòu)造方法被設(shè)為private,則無法在該構(gòu)造方法所在的類以外的地方被調(diào)用,但也使得該類不能被實例化。任務(wù)3保護(hù)個人“隱私”信息任務(wù)描述某公司中含有三類員工,分別是雇員、管理人員和經(jīng)理。他們有共同的屬性:員工ID,姓名和工資。不同的是,管理人員比普通雇員多領(lǐng)一份崗位津貼,而經(jīng)理又比管理人員多領(lǐng)一份獎金。可以使用繼承技術(shù)實現(xiàn)公司員工的信息管理。任務(wù)4員工薪資信息管理必備知識類的繼承1.繼承的概念在Java中,類的繼承是指在一個現(xiàn)有類的基礎(chǔ)上去構(gòu)建一個新的類,而不需要把現(xiàn)有類的內(nèi)容重新書寫一遍,構(gòu)建出來的新類被稱作子類,現(xiàn)有類被稱作父類。繼承關(guān)系可以描述為:子類繼承了父類或父類被子類繼承。子類與父類建立繼承關(guān)系后,子類也就擁有了父類的非私有的成員屬性和成員方法,同時還可以擁有自己的屬性和方法。任務(wù)4員工薪資信息管理必備知識類的繼承2.類的實現(xiàn)繼承的英文翻譯為inherit,但是由繼承定義可以看出子類實際上是擴(kuò)展了父類,因此Java中繼承是通過關(guān)鍵字“extends”來實現(xiàn)的。關(guān)鍵字“extends”說明要構(gòu)建一個新類,而新類是從一個已經(jīng)存在的類中衍生出來的。格式如下:任務(wù)4員工薪資信息管理必備知識【實例3-14】運行結(jié)果任務(wù)4員工薪資信息管理類的繼承必備知識方法的重寫在繼承關(guān)系中,子類會自動繼承父類中定義的方法,但有時在子類中需要對繼承的方法進(jìn)行一些修改,即對父類的方法進(jìn)行重寫。方法的重寫相當(dāng)于子類對父類某些功能的重新實現(xiàn),因此在父類的方法中很多是空方法或是具有所有子類共性功能的方法。需要注意的是,在子類中重寫的方法需要和父類被重寫的方法具有相同的方法名、參數(shù)列表以及返回值類型。任務(wù)4員工薪資信息管理必備知識【實例3-15】運行結(jié)果任務(wù)4員工薪資信息管理方法的重寫必備知識super關(guān)鍵字1.使用super關(guān)鍵字可以調(diào)用父類的成員變量,格式如下:2.使用super關(guān)鍵字可以調(diào)用父類的成員方法,格式如下:3.super關(guān)鍵字可以調(diào)用父類的構(gòu)造方法,格式如下:任務(wù)4員工薪資信息管理必備知識【實例3-16】運行結(jié)果任務(wù)4員工薪資信息管理super關(guān)鍵字必備知識【實例3-17】運行結(jié)果任務(wù)4員工薪資信息管理super關(guān)鍵字必備知識final關(guān)鍵字final關(guān)鍵字可用于修飾類、變量和方法,它有“這是無法改變的”或者“最終”的含義,因此被final修飾的類、變量和方法將具有以下特性:☆final修飾的類不能被繼承?!頵inal修飾的方法不能被子類重寫?!頵inal修飾的變量(成員變量和局部變量)是常量,只能賦值一次。任務(wù)4員工薪資信息管理任務(wù)實施1.創(chuàng)建Employee類v任務(wù)4員工薪資信息管理任務(wù)實施2.創(chuàng)建Administrator類v任務(wù)4員工薪資信息管理任務(wù)實施3.創(chuàng)建Manager類v任務(wù)4員工薪資信息管理任務(wù)實施4.創(chuàng)建測試類v任務(wù)4員工薪資信息管理拓展提升在Java中,所有的類都是直接或者間接繼承java.lang.Object類而得到的,即:任何類的父類都是Object。根據(jù)多態(tài)的概念,任何子類的對象都可以賦值給父類的引用,也就是說任何類的所有實例都可以用Object來代替。任務(wù)4員工薪資信息管理任務(wù)描述電腦的鼠標(biāo)、鍵盤和移動硬盤的內(nèi)部結(jié)構(gòu)不同,每種設(shè)備的容量也不同,但它們都遵守了USB接口的規(guī)范,所以在使用USB接口時,可以將鼠標(biāo)、鍵盤和移動硬盤插入任意一個USB接口,而不用擔(dān)心哪個USB接口是專門插哪個盤。
請編寫程序,模擬使用USB接口的過程。任務(wù)5模擬使用USB接口必備知識抽象類抽象方法定義格式如下:任務(wù)5模擬使用USB接口//定義抽象方法shout()abstractvoidshout();語法格式//定義抽象類AnimalabstractclassAnimal{……}語法格式創(chuàng)建抽象類的具體格式如下:必備知識【實例3-22】運行結(jié)果抽象類任務(wù)5模擬使用USB接口必備知識接口1.接口的概念Java程序設(shè)計中的接口(Interface)是一種規(guī)范,是用來組織應(yīng)用程序中的類,并調(diào)節(jié)它們的相互關(guān)系。另外,Java的單繼承性使得Java簡單,易于管理程序。但為了能夠?qū)崿F(xiàn)多繼承,Java使用了接口,一個類可以實現(xiàn)多個接口。任務(wù)5模擬使用USB接口必備知識接口2.接口的聲明接口需要使用interface關(guān)鍵字來聲明,具體格式如下:任務(wù)5模擬使用USB接口[public]interface接口名[extends接口1,接口2…]{//數(shù)據(jù)成員必須被初始化
[public][static][final]數(shù)據(jù)類型常量名=常量值;//方法必須被聲明為抽象方法
[public][static][abstract]返回值類型抽象方法名(參數(shù)列表);}語法格式必備知識接口3.接口的實現(xiàn)定義一個類來實現(xiàn)接口中所有的抽象方法,利用接口打造新的類的過程,稱之為接口的實現(xiàn)(implementation),同時實現(xiàn)了接口的類稱之為接口實現(xiàn)類。接口實現(xiàn)使用關(guān)鍵字implements。任務(wù)5模擬使用USB接口//接口的實現(xiàn)class類名稱implements接口名稱{……}語法格式必備知識【實例3-23】運行結(jié)果接口任務(wù)5模擬使用USB接口必備知識【實例3-24】運行結(jié)果接口任務(wù)5模擬使用USB接口必備知識類的多態(tài)多態(tài)的概念多態(tài)是指Java運行時的多態(tài)性,它是面向?qū)ο蟪绦蛟O(shè)計中代碼重用的最強(qiáng)大機(jī)制,Java實現(xiàn)多態(tài)的基礎(chǔ)是動態(tài)方法調(diào)度,就是指父類某個方法被其子類重寫時,可以各自產(chǎn)生自己的功能行為。任務(wù)5模擬使用USB接口必備知識【實例3-25】運行結(jié)果類的多態(tài)任務(wù)5模擬使用USB接口必備知識接口與多態(tài)多態(tài)是面向?qū)ο缶幊趟枷氲闹匾w現(xiàn),是建立在繼承關(guān)系基礎(chǔ)上的。接口與它的實現(xiàn)類之間存在實現(xiàn)關(guān)系,同時也就具有繼承關(guān)系。因此,接口可以像父類子類一樣使用多態(tài)技術(shù),其中接口回調(diào)就是多態(tài)技術(shù)的體現(xiàn)。接口回調(diào)是指可以將接口實現(xiàn)類的對象賦給該接口聲明的接口變量中,那么該接口變量就可以調(diào)用接口實現(xiàn)類對象中的方法。不同的類在使用同一接口時,可能具有不同的功能體現(xiàn),即接口實現(xiàn)類的方法體不必相同,因此,接口回調(diào)可能產(chǎn)生不同的行為。任務(wù)5模擬使用USB接口必備知識【實例3-26】運行結(jié)果接口與多態(tài)任務(wù)5模擬使用USB接口任務(wù)實施1.定義一個USB接口,在接口中進(jìn)行抽象方法聲明。v任務(wù)5模擬使用USB接口任務(wù)實施2.分別編寫鼠標(biāo)、鍵盤和移動硬盤的實現(xiàn)類。任務(wù)5模擬使用USB接口vvv任務(wù)實施任務(wù)5模擬使用USB接口3.定義測試類Task05。v拓展提升計算機(jī)的USB接口都是集成主板的,現(xiàn)進(jìn)一步要求在原任務(wù)的基礎(chǔ)上增加主板類,讓主板完成對USB接口的使用,再修改UseUSB類,將USB接口安裝在主板上,然后在UseUSB類中將移動硬盤插入到主板的USB接口中。任務(wù)5模擬使用USB接口v本章小結(jié)Java面向?qū)ο蟮幕靖拍铑惖亩x對象的創(chuàng)建方法的調(diào)用構(gòu)造方法方法重載封裝的概念封裝的實現(xiàn)方法Java的修飾符項目3面向?qū)ο蟪绦蛟O(shè)計繼承的概念與繼承的實現(xiàn)方法的重寫super關(guān)鍵字final關(guān)鍵字抽象的概念接口的定義接口的實現(xiàn)方式本章結(jié)束項目4數(shù)據(jù)與異常處理任務(wù)1處理考試系統(tǒng)中的成績 任務(wù)4模擬ATM取款機(jī)任務(wù)2獲取天氣預(yù)報數(shù)據(jù)教學(xué)內(nèi)容任務(wù)3除法計算器程序任務(wù)描述任務(wù)1處理考試系統(tǒng)中的成績 對學(xué)生成績進(jìn)行統(tǒng)計,要對考試分?jǐn)?shù)進(jìn)行處理和查詢。參加考試的有6名學(xué)生,考試成績分別為96.5,89.5,79,64.5,81.5,72.5計算考試的總分?jǐn)?shù)并保存大于考試平均分的成績信息,將信息存入數(shù)組HighScore中。必備知識一維數(shù)組聲明聲明一維數(shù)組有下列兩種格式:(1)數(shù)組元素類型數(shù)組名字[];(2)數(shù)組元素類型[]數(shù)組名字;例如:采用不同的格式分別聲明一維數(shù)組a1和b1。任務(wù)1處理考試系統(tǒng)中的成績 一維數(shù)組必備知識用關(guān)鍵字new初始化數(shù)組①先聲明數(shù)組,再初始化數(shù)組。格式如下:
第一條語句是數(shù)組的聲明,第二條語句是初始化。數(shù)組長度通常是整型常量,用以指明數(shù)組元素的個數(shù)。例如任務(wù)1處理考試系統(tǒng)中的成績 一維數(shù)組必備知識用關(guān)鍵字new初始化數(shù)組②在聲明數(shù)組的同時用new關(guān)鍵字初始化數(shù)組。格式如下:或者例如:
任務(wù)1處理考試系統(tǒng)中的成績 一維數(shù)組必備知識一維數(shù)組一維數(shù)組元素的引用格式如下:數(shù)組下標(biāo)的取值范圍是0~(數(shù)組長度-1),下標(biāo)值可以是整數(shù)型常量或整數(shù)型變量表達(dá)式。例如,在有了“int[]a=newint[10];”聲明語句后,下面的兩條賦值語句是合法的:語句a[10]=8;卻是錯誤的,因為下標(biāo)值超過了數(shù)組下標(biāo)的取值范圍。任務(wù)1處理考試系統(tǒng)中的成績 必備知識一維數(shù)組任務(wù)1處理考試系統(tǒng)中的成績 【實例4-1】運行結(jié)果必備知識二維數(shù)組任務(wù)1處理考試系統(tǒng)中的成績 二維數(shù)組聲明二維數(shù)組的聲明只需要給出兩對方括號,格式如下:類型標(biāo)識符數(shù)組名[][];類型標(biāo)識符[][]數(shù)組名;必備知識二維數(shù)組任務(wù)1處理考試系統(tǒng)中的成績 二維數(shù)組的初始化(1)直接指定初值的方式在數(shù)組聲明時對數(shù)據(jù)元素賦初值就是用指定的初值對數(shù)組初始化。例如:int[][]arr1={{3,-9,6},{8,0,1},{11,9,8}};聲明并初始化數(shù)組arr1,它有3個元素,每個元素又都是有3個元素的一維數(shù)組。必備知識二維數(shù)組任務(wù)1處理考試系統(tǒng)中的成績 (2)用關(guān)鍵字new初始化數(shù)組①先聲明數(shù)組,再初始化數(shù)組。格式如下:類型標(biāo)識符數(shù)組名[][];數(shù)組名=new類型標(biāo)識符[數(shù)組長度][數(shù)組長度];其中:對數(shù)組名、類型說明符和數(shù)組長度的要求與一維數(shù)組一致。例如:intarra[][];//聲明二維數(shù)組arra=newint[3][4];//初始化二維數(shù)組必備知識二維數(shù)組任務(wù)1處理考試系統(tǒng)中的成績 (2)用關(guān)鍵字new初始化數(shù)組②在聲明數(shù)組的同時用new關(guān)鍵字初始化數(shù)組。格式如下:類型標(biāo)識符數(shù)組名[][]=new類型標(biāo)識符[數(shù)組長度][數(shù)組長度];或者類型標(biāo)識符[][]數(shù)組名=new類型標(biāo)識符[數(shù)組長度][];例如:intarr[][]=newint[4][3];int[][]arr=newint[4][];必備知識二維數(shù)組任務(wù)1處理考試系統(tǒng)中的成績 二維數(shù)組的引用可用.length方法測定二維數(shù)組的長度,即元素的個數(shù)。不過當(dāng)使用“數(shù)組名.length”的形式測定的是數(shù)組的行數(shù);而使用“數(shù)組名[i].length”的形式測定的是該行的數(shù)。例如,若有如下的初始化語句:int[][]arr1={{3,-9},{8,0,1},{10,11,9,8}};則arr1.length的返回值是3,表示數(shù)組arr1有3行或3個元素。而arr1[2].length的返回值是4,表示arr1[2]的長度為4,即有4個元素。必備知識二維數(shù)組任務(wù)1處理考試系統(tǒng)中的成績 【實例4-2】運行結(jié)果必備知識數(shù)組的常用操作任務(wù)1處理考試系統(tǒng)中的成績 1.數(shù)組遍歷:所謂遍歷,就是從頭到尾走一趟。遍歷數(shù)組,即從頭到尾逐個讀出數(shù)組的各個元素。2.數(shù)組最值:在操作數(shù)組時,經(jīng)常需要獲取數(shù)組中的元素最值。3.數(shù)組排序:在操作數(shù)組時,經(jīng)常需要對數(shù)組中的元素進(jìn)行排序,其中冒泡排序是比較常見的一種算法。冒泡過程中,不斷比較數(shù)組中相鄰的兩個元素,較小者向上浮,較大者往下沉,整個過程和水中氣泡上升的原理相似。必備知識數(shù)組的常用操作任務(wù)1處理考試系統(tǒng)中的成績 【實例4-3】運行結(jié)果必備知識數(shù)組的常用操作任務(wù)1處理考試系統(tǒng)中的成績 【實例4-4】運行結(jié)果必備知識數(shù)組的常用操作任務(wù)1處理考試系統(tǒng)中的成績【實例4-5】運行結(jié)果任務(wù)實施任務(wù)1處理考試系統(tǒng)中的成績1.創(chuàng)建Score類,設(shè)計函數(shù)實現(xiàn)計算數(shù)組數(shù)據(jù)的總和:任務(wù)實施任務(wù)1處理考試系統(tǒng)中的成績2.設(shè)計函數(shù)實現(xiàn)取得高于平均分的分?jǐn)?shù)信息:任務(wù)實施任務(wù)1處理考試系統(tǒng)中的成績3.設(shè)計函數(shù)實現(xiàn)數(shù)組的遍歷:任務(wù)實施任務(wù)1處理考試系統(tǒng)中的成績4.編寫main函數(shù)實現(xiàn)任務(wù)要求:拓展提升利用一維數(shù)組輸出8行楊輝三角形。任務(wù)1處理考試系統(tǒng)中的成績【實例4-6】運行結(jié)果任務(wù)描述任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 設(shè)計實現(xiàn)了一個天氣預(yù)報的數(shù)據(jù)處理的功能,能提供在線的信息編輯處理,比如插入、刪除和修改,以及查找、替換等功能。對天氣預(yù)報數(shù)據(jù)處理要求為:☆將每日的天氣用字符串?dāng)?shù)組表示;☆將每日的天氣轉(zhuǎn)為可編輯字符串?dāng)?shù)組表示;☆將每日的天氣每個空格處替換為“,”,在日期前加序號格式為1、2等;☆獲得第5日夜間的溫度。必備知識String類表示了定長、不可變的字符序列,Java程序中所有的字符串常量(如“abc”)都作為此類的實例來實現(xiàn)。它的特點是一旦賦值,便不能改變其指向的字符串對象,如果更改,則會指向一個新的字符串對象。創(chuàng)建String字符串任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 必備知識String類的常用操作任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 必備知識String類的常用操作任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 【實例4-7】運行結(jié)果必備知識String類的常用操作任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 【實例4-8】運行結(jié)果必備知識String類的常用操作任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 【實例4-9】運行結(jié)果必備知識String類的常用操作任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 【實例4-10】運行結(jié)果必備知識String類的常用操作任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 【實例4-11】運行結(jié)果必備知識String類的常用操作任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 【實例4-12】運行結(jié)果必備知識String類的常用操作任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 【實例4-13】運行結(jié)果必備知識String類的常用操作任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 【實例4-14】運行結(jié)果必備知識實際應(yīng)用中,經(jīng)常會遇到對字符串進(jìn)行動態(tài)修改,這時String類的功能就受到了限制,而StringBuffer類可以完成字符串的動態(tài)添加、插入和替換等操作。StringBuffer表示變長的和可寫的字符序StringBuffer類可有插入其中或追加其后的字符或子字符串,還可以針對這些添加自動地增加空間,同時它通常還有比實際需要更多的預(yù)留字符,從而允許增加空間。StringBuffer類的常用方法任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 必備知識1)StringBuffer的構(gòu)造方法StringBuffer定義了四個構(gòu)造方法:StringBuffer類的常用方法任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 必備知識StringBuffer類的常用方法任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 2)append()方法將一個字符串對象追加到StringBuffer對象中,并返回當(dāng)前StringBuffer對象的引用。3)length()和capacity()方法對于每一個StringBuffer對象來說,有兩個很重要的屬性,分別是長度和容量。通過調(diào)用length()方法可以得到當(dāng)前StringBuffer的長度,而通過調(diào)用capacity()方法可以得到總的分配容量。必備知識StringBuffer類的常用方法任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 4)insert(intindex,Stringstr)方法將參數(shù)str指定的字符串插入?yún)?shù)index指定的位置,并返回當(dāng)前對象的引用。5)reverse()方法可以調(diào)用reverse()方法將StringBuffer對象內(nèi)的字符串進(jìn)行翻轉(zhuǎn),其一般形式如下:任務(wù)實施1.創(chuàng)建類Task02,設(shè)計函數(shù)實現(xiàn)存放每天的天氣信息任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 任務(wù)實施2.設(shè)計函數(shù)實現(xiàn)獲取夜間文檔信息任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 任務(wù)實施3.編寫main函數(shù)實現(xiàn)任務(wù)要求任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 拓展提升當(dāng)Java在連接時將數(shù)據(jù)轉(zhuǎn)換為其字符串形式時,它是通過調(diào)用字符串中定義的valueOf()的重載方法來完成的。對于簡單類型,valueOf()方法返回一個字符串,該字符串包含了相應(yīng)的被調(diào)用的值的可讀值。對于對象,valueOf()調(diào)用toString()方法。toString()方法是在Object中定義,所以任何類都具有這個方法。然而toString()方法的默認(rèn)實現(xiàn)是不夠的,對于用戶所創(chuàng)建的大多數(shù)類,通常都希望用自己提供的字符串表達(dá)式重載toString()方法。任務(wù)2獲取天氣預(yù)報數(shù)據(jù) 任務(wù)描述任務(wù)3除法計算器程序 程序在運行的時候,會因為各種原因造成一些錯誤,導(dǎo)致程序無法繼續(xù)執(zhí)行下去。通過什么方式對程序進(jìn)行處理,使其能夠繼續(xù)執(zhí)行呢?本任務(wù)是編寫一個除法計算器,要求程序在出現(xiàn)除數(shù)為零和除數(shù)、被除數(shù)中有一個不是數(shù)字的情況時進(jìn)行相應(yīng)的處理。當(dāng)調(diào)用存放在數(shù)組中的計算結(jié)果,數(shù)組有可能產(chǎn)生索引越界,對這種情況進(jìn)行捕捉和處理。必備知識異常是程序在運行過程中由于硬件設(shè)備問題、軟件設(shè)計錯誤等原因?qū)е鲁绦驘o法正常執(zhí)行的狀況,如除數(shù)為0,操作數(shù)超出數(shù)據(jù)范圍,打開文件不存在等。Java采用面向?qū)ο蟮姆绞絹硖幚懋惓?,以異常類的形式對這些非正常情況進(jìn)行封裝,在程序運行時可以監(jiān)視某段代碼是否有錯,并且將各種錯誤集中處理,以往需要由程序員完成的程序出錯情況判別,在Java中改為由系統(tǒng)承擔(dān)。異常的概念任務(wù)3除法計算器程序必備知識異常的分類任務(wù)3除法計算器程序在Java中提供了大量的異常類,這些類都繼承自Java.lang.Throwable類,它們的層次結(jié)構(gòu)如圖所示。必備知識Java提供了一種異常處理機(jī)制,即:拋出異常和捕獲異常。(1)拋出異常:當(dāng)一個方法出現(xiàn)錯誤引發(fā)異常時,該方法創(chuàng)建一個異常對象并把它交給運行時系統(tǒng)。異常對象中包含了有關(guān)異常的信息,如異常類型、發(fā)生錯誤時的程序狀態(tài)等。運行時系統(tǒng)負(fù)責(zé)尋找處置異常的代碼并執(zhí)行。異常處理機(jī)制任務(wù)3除法計算器程序必備知識Java提供了一種異常處理機(jī)制,即:拋出異常和捕獲異常。(2)捕獲異常:在方法拋出異常之后,運行時系統(tǒng)在方法調(diào)用堆棧里為被拋出的異常查找處理代碼。運行時系統(tǒng)從發(fā)生錯誤的方法開始進(jìn)行回朔,在方法調(diào)用堆棧里向后搜索,直到找到含能處理當(dāng)前發(fā)生的異常的處理程序的方法。當(dāng)運行時系統(tǒng)遍歷調(diào)用棧而未找到合適的異常處理器,則運行時系統(tǒng)終止。同時,意味著Java程序的終止。異常處理機(jī)制任務(wù)3除法計算器程序必備知識異常捕獲通常使用try-catch-finally語句,其基本格式如下:異常的捕獲與處理任務(wù)3除法計算器程序try{//執(zhí)行代碼
...... }catch(ExceptionType1e){//對異常類型的處理
...... }語法格式必備知識異常的捕獲與處理任務(wù)3除法計算器程序【實例4-15】運行結(jié)果必備知識異常的捕獲與處理任務(wù)3除法計算器程序【實例4-16】運行結(jié)果必備知識異常的捕獲與處理任務(wù)3除法計算器程序【實例4-17】運行結(jié)果任務(wù)實施任務(wù)3除法計算器程序1.導(dǎo)入InputMismatchException和Scanner。v2.在main()方法中聲明數(shù)組result及兩個變量oper1、oper2;v任務(wù)實施任務(wù)3除法計算器程序3.定義try-catch-finally語句,進(jìn)行異常處理。v拓展提升try語句可以被嵌套。在嵌套的時候,一個try語句塊可以在另一個try語句塊的內(nèi)部。每次進(jìn)入try語句塊,異常的前后關(guān)系都會被推入某一個堆棧。如果內(nèi)部的try語句不含特殊異常catch處理程序,堆棧將彈出,而由下一個try語句的catch處理程序來檢查是否與之匹配。這個過程將繼續(xù)下去,直到catch語句匹配成功,或者是直到所有的嵌套try語句被檢查耗盡。如果沒有catch語句匹配,Java運行時環(huán)境將自動處理這個異常。如果在一個try塊中有可能產(chǎn)生多個異常,那么當(dāng)?shù)谝粋€異常被捕獲后,后續(xù)的代碼不會被執(zhí)行,則其他異常也不能產(chǎn)生,為了執(zhí)行try塊中的所有代碼,捕獲所有可能產(chǎn)生的異常,可以使用嵌套的try語句。任務(wù)3除法計算器程序任務(wù)描述任務(wù)4模擬ATM取款機(jī)在日常生活中,我們都有到ATM機(jī)存款取款的經(jīng)歷。即:當(dāng)存款金額小于0或存款金額是一個非數(shù)值型的數(shù)據(jù),會產(chǎn)生異常;當(dāng)取款金額大于余額或取款金額小于0也會產(chǎn)生異常。必備知識在程序中自定義異常類并使用,可以按照以下步驟來進(jìn)行。(1)創(chuàng)建自定義異常類。(2)在方法中通過throw拋出異常對象。(3)若在當(dāng)前拋出異常的方法中處理異常,可以使用try...catch語句捕獲并處理:否則在方法的聲明處通過throws指明要拋給方法調(diào)用者的異常,繼續(xù)進(jìn)行下步操作。(4)在出現(xiàn)異常的方法調(diào)用代碼中捕獲并處理異常。如果自定義的異常類繼承自RuntimeException異常類,在步驟3中,可以不通過throws指明要拋出的異常。自定義異常任務(wù)4模擬ATM取款機(jī)必備知識自定義異常任務(wù)4模擬ATM取款機(jī)【實例4-19】運行結(jié)果必備知識在一個方法中如果產(chǎn)生了異常,可以選擇使用try-catch-finally處理,但是有些情況下,一個方法并不需要處理它所產(chǎn)生的異常,或者不知道該如何處理,這時可以選擇向上傳遞異常,由調(diào)用它的方法來處理這些異常,這種傳遞可以逐層向上傳遞,直到main()方法。這就要用throws子句聲明異常,throws子句包含在方法的聲明中,其格式如下。使用throws子句聲明異常任務(wù)4模擬ATM取款機(jī)必備知識使用throws子句聲明異常任務(wù)4模擬ATM取款機(jī)【實例4-20】運行結(jié)果必備知識前面討論的異常都是運行時環(huán)境引發(fā)的,而在實際編程過程中,可以顯式地拋出自己的異常。使用throw語句可以明確拋出某個異常。throw語句的標(biāo)準(zhǔn)形式如下:其中,Exceptionlnstance必須是Throwable類類型或Throwable子類類型的一個對象。簡單類型以及非Throwable類都不能作為throw語句的對象。使用throw拋出異常對象任務(wù)4模擬ATM取款機(jī)必備知識任務(wù)4模擬ATM取款機(jī)【實例4-21】運行結(jié)果使用throw拋出異常對象任務(wù)實施創(chuàng)建Atm類,設(shè)計以下幾個方法:存款方法voiddeposit()取款方法voidwithdraw()顯示余額doubleshowBalance()顯示主頁面show()方法任務(wù)4模擬ATM取款機(jī)任務(wù)實施2.自定義兩個異常類,分別處理存取款金額小于0和取款金額大于余額的異常任務(wù)4模擬ATM取款機(jī)任務(wù)實施3.創(chuàng)建測試類Task04,在main方法中調(diào)用定義的方法,捕獲方法拋出的異常,并進(jìn)行處理任務(wù)4模擬ATM取款機(jī)拓展提升進(jìn)行異常處理時的注意事項:1.try、catch和finally這三個關(guān)鍵字不能單獨使用,否則編譯出錯。2.try語句塊后既可以只使用catch語句塊,也可以只使用finally語句塊。當(dāng)與catch語句塊一起使用時,可以存在多個catch語句塊,而對于finally語句塊只能存在一個。當(dāng)catch與finally同時存在時,finally必須放在catch后面。3.try只與finally語句塊使用時,可以使程序在發(fā)生異常后拋出異常,并繼續(xù)執(zhí)行方法中的后續(xù)代碼。任務(wù)4模擬ATM取款機(jī)拓展提升4.try只與catch語句塊使用時,可以使用多個catch語句來捕獲try語句塊中可能發(fā)生的多種異常。異常發(fā)生后,Java虛擬機(jī)會由上而下來檢測當(dāng)前catch語句塊所捕獲的異常是否與try語句塊中某個發(fā)生的異常匹配,若匹配,則不執(zhí)行其他的catch語句塊。如果多個catch語句塊捕獲的是同種類型的異常,則捕獲子類異常的catch語句塊要放在捕獲父類異常的catch語句塊前面。5.在try語句塊中聲明的變量是局部變量,只在當(dāng)前try語句塊中有效,在其后的catch、finally語句塊或其他位置都不能訪問該變量。但在try、catch或finally語句塊之外聲明的變量,可以在try、catch或finally語句塊中訪問。任務(wù)4模擬ATM取款機(jī)拓展提升6.對于發(fā)生的異常,必須使用try……catch語句捕獲,或者使用throws向上拋出,否則編譯出錯。7.在使用throw語句拋出一個異常對象時,該語句后面的代碼將不會被執(zhí)行。任務(wù)4模擬ATM取款機(jī)本章小結(jié)一維數(shù)組二維數(shù)組數(shù)組的常用操作創(chuàng)建String類字符串String類的常用操作StringBuffer類的常用方法項目4數(shù)據(jù)與異常處理異常的概念異常的分類異常處理機(jī)制自定義異常的創(chuàng)建步驟使用throws子句聲明異常使用throw拋出異常對象本章結(jié)束項目5圖形化用戶界面設(shè)計任務(wù)1簡單登錄窗口設(shè)計任務(wù)4字體設(shè)置窗口設(shè)計任務(wù)2計算器界面設(shè)計教學(xué)內(nèi)容任務(wù)3計算器事件處理任務(wù)5文字編輯菜單設(shè)計 任務(wù)描述任務(wù)1簡單登錄窗口設(shè)計本任務(wù)是登錄窗口設(shè)計。在這個用戶登錄界面中需要用戶通過輸入用戶名和密碼進(jìn)行驗證,并根據(jù)驗證結(jié)果進(jìn)入【登錄】或者【取消】按鈕相應(yīng)功能模塊,運行結(jié)果如圖5所示。JavaGUI中提供了可以輸入用戶名和密碼的文本框,按鈕等功能組件,下面將詳細(xì)介紹如何構(gòu)建一個用戶登錄界面,以及創(chuàng)建界面上的相關(guān)組件的方法。必備知識AWT(AbstractWindowingToolkit,抽象窗口工具包),是Java提供的用來建立和設(shè)置Java圖形用戶界面的基本工具。AWT由java.awt包提供,其提供了支持GUI設(shè)計的類和接口,而由AWT提供的組件一般稱之為重量級組件,其是由本地方法來實現(xiàn)其功能的。Swing是在AWT的基礎(chǔ)上構(gòu)建的一套新的圖形界面組件,所有組件均是由Java書寫,具有良好的跨平臺性。AWT概述任務(wù)1簡單登錄窗口設(shè)計必備知識Java中的圖形界面的程序設(shè)計步驟如下:1.創(chuàng)建頂層容器2.創(chuàng)建中間容器、組件3.將組件加入容器4.設(shè)置容器內(nèi)組件的位置5.處理組件所產(chǎn)生的事件AWT概述任務(wù)1簡單登錄窗口設(shè)計必備知識Swing組件都是直接或者間接的繼承自AWT中的Container類。這些組件都包括在Javax.swing包和其子包中。Swing容器和組件任務(wù)1簡單登錄窗口設(shè)計必備知識【實例5-1】運行結(jié)果任務(wù)1簡單登錄窗口設(shè)計Swing容器和組件【實例5-2】必備知識【實例5-3】運行結(jié)果任務(wù)1簡單登錄窗口設(shè)計Swing容器和組件必備知識JButton組件Swing容器和組件任務(wù)1簡單登錄窗口設(shè)計//創(chuàng)建普通可顯示文本的按鈕JButtonb1=newJButton("確定");//創(chuàng)建可顯示圖標(biāo)的按鈕ImageIconbuttonIcon=newImageIcon("OK.gif");//創(chuàng)建即可以顯示文本又可以顯示圖標(biāo)的按鈕JButtonb2=newJButton("確定",buttonIcon);必備知識JLabel組件Swing容器和組件任務(wù)1簡單登錄窗口設(shè)計//創(chuàng)建可顯示文本標(biāo)簽JLabeljlab1=newJLabel("文本標(biāo)簽");//創(chuàng)建可顯示圖標(biāo)的標(biāo)簽JLabeljlab2=newJLabel("這是顯示圖標(biāo)文本標(biāo)簽",newImageIcon("eclipse32.gif"),SwingConstants.LEFT);必備知識【實例5-4】運行結(jié)果任務(wù)1簡單登錄窗口設(shè)計Swing容器和組件必備知識文本組件Swing容器和組件任務(wù)1簡單登錄窗口設(shè)計1.JTextField類是單行文本輸入組件,用于接收用戶輸入。2.JPasswordField是JTextField類子類,用回顯字符串代替輸入的文本信息。3.JTextArea類提供可以編輯或顯示多行文本的區(qū)域,默認(rèn)情況下,文本區(qū)是可編輯的。必備知識【實例5-5】運行結(jié)果任務(wù)1簡單登錄窗口設(shè)計Swing容器和組件必備知識在AWT中組件Component類根據(jù)作用分為基本組件類和容器類?;窘M件是按鈕、文本框等圖形界
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 孝感合同范例找律師
- 抵賬裝修合同范例
- 兼職拍攝合同范例
- 報廢廠經(jīng)營合同模板
- 帶貨主播勞務(wù)合同合同模板
- 專利收益合同范例
- 廊坊買賣房合同范例
- 大型車位合同范例
- 2024年貴州2024年客運從業(yè)資格證
- 2024年蘭州客運資格證操作考試
- 《安徽省二年級上學(xué)期數(shù)學(xué)期末試卷全套》
- 2024年企業(yè)業(yè)績對賭協(xié)議模板指南
- 4.2 讓家更美好(大單元教學(xué)設(shè)計) -2024-2025學(xué)年統(tǒng)編版道德與法治七年級上冊
- “全民消防生命至上”主題班會教案(3篇)
- 國開(浙江)2024年秋《中國建筑史(本)》形考作業(yè)1-4答案
- 上海市普陀區(qū)2024-2025學(xué)年六年級(五四學(xué)制)上學(xué)期期中語文試題
- 2024黔東南州事業(yè)單位第二批遴選人員調(diào)減遴選歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 2024年湖北武漢大學(xué)化學(xué)與分子科學(xué)學(xué)院招聘1人(實驗中心)歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 2024新能源光伏電站運行規(guī)程和檢修規(guī)程
- 三年級美術(shù)上冊全冊教案(湘教版)
- 2024版成人術(shù)中非計劃低體溫預(yù)防與護(hù)理培訓(xùn)課件
評論
0/150
提交評論