chJava面向?qū)ο缶幊碳夹g(shù).ppt_第1頁(yè)
chJava面向?qū)ο缶幊碳夹g(shù).ppt_第2頁(yè)
chJava面向?qū)ο缶幊碳夹g(shù).ppt_第3頁(yè)
chJava面向?qū)ο缶幊碳夹g(shù).ppt_第4頁(yè)
chJava面向?qū)ο缶幊碳夹g(shù).ppt_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第4講 Java面向?qū)ο缶幊碳夹g(shù),授課課時(shí):8課時(shí)(360分鐘) 主編:劉志成,2,主要內(nèi)容,本課目標(biāo) 新課引入與項(xiàng)目展示 案例1 編寫(xiě)描述學(xué)生的Java類(lèi) 案例2 編寫(xiě)描述大學(xué)生的Java類(lèi) 案例3 方法重載與方法重寫(xiě) 案例4 定義形狀 案例5 實(shí)現(xiàn)電視機(jī)遙控器 案例6 讀取隊(duì)列元素 案例7 操作字符串 課堂實(shí)踐 鞏固與提高,3,本課目標(biāo),4,教學(xué)情境引入新課,熟練掌握類(lèi)的定義,對(duì)象的創(chuàng)建及對(duì)象之間的交互,子類(lèi)和抽象類(lèi)的定義及多態(tài)的實(shí)現(xiàn)與使用。,工作任務(wù),項(xiàng)目展示,5,教師示范與講解1,任務(wù)一:編寫(xiě)描述學(xué)生的Java類(lèi),案例分析,6,面向?qū)ο蟮幕靖拍?1對(duì)象 對(duì)象(Object)就是客觀存在的任何事物。 2類(lèi) 類(lèi)(class)是對(duì)象的模板。即類(lèi)是對(duì)一組有相同靜態(tài)特性和相同動(dòng)態(tài)行為的對(duì)象的抽象,一個(gè)類(lèi)所包含的屬性和方法描述一組對(duì)象的共同屬性和行為。類(lèi)是在對(duì)象之上的抽象,對(duì)象則是類(lèi)的具體化,是類(lèi)的實(shí)例。,7,面向?qū)ο蟮幕靖拍?3接口 如果我們把客觀世界看成由不同的系統(tǒng)(或類(lèi))組成,這些系統(tǒng)(或類(lèi))之間需要通過(guò)一個(gè)公共的部件進(jìn)行交流,我們把這個(gè)公共的部件稱(chēng)為接口(Interface)。 4消息 消息就是對(duì)象之間進(jìn)行通信的一種規(guī)格說(shuō)明,對(duì)象之間進(jìn)行交互作用和通信的工具。,8,面向?qū)ο蟮幕咎匦?1封裝性 封裝是一種信息隱蔽技術(shù),它體現(xiàn)于類(lèi)的說(shuō)明中,是對(duì)象的重要特性。 封裝的目的在于把對(duì)象的設(shè)計(jì)者和對(duì)象的使用者分開(kāi),使用者不需要知道行為實(shí)現(xiàn)的細(xì)節(jié),只需用設(shè)計(jì)者提供的消息來(lái)訪問(wèn)該對(duì)象。 在Java語(yǔ)言中,類(lèi)是封裝的最基本單位。 封裝有助于提高類(lèi)和系統(tǒng)的安全性。,9,面向?qū)ο蟮幕咎匦?2繼承性 繼承是類(lèi)不同抽象級(jí)別之間的關(guān)系,是子類(lèi)自動(dòng)共享父類(lèi)數(shù)據(jù)和方法的機(jī)制。 3多態(tài)性 對(duì)象根據(jù)所接收的消息產(chǎn)生行為,同一消息為不同的對(duì)象接收時(shí)可產(chǎn)生完全不同的行動(dòng),這種現(xiàn)象稱(chēng)為多態(tài)性。 多態(tài)允許對(duì)任意指定的對(duì)象自動(dòng)地使用正確的方法,并通過(guò)在程序運(yùn)行過(guò)程中將對(duì)象與恰當(dāng)?shù)姆椒ㄟM(jìn)行動(dòng)態(tài)綁定來(lái)實(shí)現(xiàn)。,10,類(lèi)的定義,Java中的類(lèi)的定義包括類(lèi)聲明和類(lèi)體兩部分內(nèi)容。 類(lèi)聲明的格式如下: publicabstractfinal class 類(lèi)名 extends 父類(lèi)名 implements 接口名表 類(lèi)體的通用格式如下: publicabstractfinal class 類(lèi)名 extends 父類(lèi)名 implements 接口名表 成員域定義部分; 方法定義部分; ,11,課堂演示-編寫(xiě)描述學(xué)生的Java類(lèi),【案例4-1】判斷指定數(shù)的奇偶性 【案例學(xué)習(xí)目標(biāo)】理解面向?qū)ο蟮幕靖拍睿莆認(rèn)ava語(yǔ)言中類(lèi)的基本格式,能夠簡(jiǎn)單實(shí)現(xiàn)對(duì)客觀事物到Java類(lèi)的抽象。 【案例知識(shí)要點(diǎn)】類(lèi)的含義、類(lèi)的定義、Java類(lèi)的聲明方法、Java類(lèi)體的定義方法。 【案例完成步驟】 學(xué)生對(duì)象分析 類(lèi)的定義,12,課堂演示-編寫(xiě)描述學(xué)生的Java類(lèi),學(xué)生對(duì)象分析,13,課堂演示-編寫(xiě)描述學(xué)生的Java類(lèi),類(lèi)的定義 public class Student public static int iCounter=0; String sName; boolean bGender=false; /false代表“女“ int iAge; double dHeight; /單位為厘米 double dWeight; /單位為公斤 public static void getCounter() System.out.println(“學(xué)生總數(shù):“+ +iCounter); ,14,課堂演示-編寫(xiě)描述學(xué)生的Java類(lèi),public void getInfo() System.out.print(“姓名:“+sName+“t“); System.out.print(“性別:“+bGender+“t“); System.out.print(“年齡:“+iAge+“歲t“); System.out.print(“身高:“+dHeight+“厘米t“); System.out.println(“體重:“+dWeight+“公斤“); public void setInfo(String n,boolean g,int a,double h,double w) sName=n; bGender=g; iAge=a; dHeight=h; dWeight=w; ,15,學(xué)生模仿1,16,教師示范與講解2,17,成員變量定義,成員變量描述了類(lèi)的靜態(tài)特性。 類(lèi)的靜態(tài)特性包括兩部分:類(lèi)的特性和對(duì)象的特性信息。對(duì)應(yīng)的Java也將成員變量分為兩種:類(lèi)變量和實(shí)例變量。 在變量定義時(shí),可同時(shí)給其賦初值,將其初始化 類(lèi)的成員變量定義的一般格式如下: 存取修飾符 final transient static volatile 類(lèi)型 變量名 = 值 或表達(dá)式,變量名 = 值或表達(dá)式;,18,成員方法定義,方法是一個(gè)包含一條或多條語(yǔ)句的代碼塊,用來(lái)完成一個(gè)相對(duì)獨(dú)立的功能 方法有自己的名稱(chēng)以及可以重復(fù)使用的變量 與類(lèi)成員變量一樣,方法也分為類(lèi)方法(也稱(chēng)為靜態(tài)方法)和實(shí)例方法兩種 類(lèi)的成員方法定義的一般格式如下: 存取修飾符 final staticabstractnativesynchronized 方法返回類(lèi)型 方法名( 形式參數(shù)表) throws 異常表 可執(zhí)行代碼; ,19,構(gòu)造方法,構(gòu)造方法的主要用途有兩個(gè):一是通知Java虛擬機(jī)創(chuàng)建類(lèi)的對(duì)象,二是對(duì)創(chuàng)建的對(duì)象進(jìn)行初始化 如果在程序中沒(méi)有顯式的定義類(lèi)的構(gòu)造方法,Java編譯器將自動(dòng)提供一個(gè)構(gòu)造方法,稱(chēng)為默認(rèn)構(gòu)造方法 可以在【案例4-1】中,添加一個(gè)構(gòu)造方法: public Student() iAge=36; dHeight=170; dWeight=65; ,20,創(chuàng)建對(duì)象,1創(chuàng)建對(duì)象的步驟 在已經(jīng)定義好的類(lèi)的基礎(chǔ)上,創(chuàng)建對(duì)象的過(guò)程分為如下3步: (1)創(chuàng)建對(duì)象引用變量; (2)創(chuàng)建類(lèi)的實(shí)例對(duì)象; (3)將對(duì)象的引用賦值給對(duì)象引用變量。,21,創(chuàng)建對(duì)象,2new運(yùn)算符 通過(guò)new運(yùn)算符創(chuàng)建對(duì)象時(shí),Java虛擬機(jī)將在堆中開(kāi)辟一個(gè)內(nèi)存空間,用于存放對(duì)象的實(shí)例變量,并根據(jù)指定的構(gòu)造方法和類(lèi)的定義初始化這些實(shí)例變量。new運(yùn)算符的一般格式為: 對(duì)象引用變量 new 對(duì)象構(gòu)造方法; 3調(diào)用對(duì)象的成員 對(duì)象的成員(實(shí)例變量與實(shí)例方法)的調(diào)用采用“.”運(yùn)算符,引用的一般格式為: 對(duì)象引用變量.類(lèi)的成員,22,類(lèi)的繼承,在Java中,從一個(gè)現(xiàn)有類(lèi)的基礎(chǔ)上定義新的類(lèi)的過(guò)程稱(chēng)為派生。 新定義的類(lèi)稱(chēng)為派生類(lèi),也稱(chēng)為直接子類(lèi)。 基礎(chǔ)類(lèi)稱(chēng)為父類(lèi)或超類(lèi)。這種一個(gè)類(lèi)派生出另一個(gè)類(lèi)的關(guān)系即為繼承關(guān)系,一個(gè)派生類(lèi)將繼承其父類(lèi)的所有特性和操作。 如果要?jiǎng)?chuàng)建一個(gè)繼承父類(lèi)的子類(lèi),只需在類(lèi)的聲明中通過(guò)extends關(guān)鍵字指定要繼承的類(lèi)名就可以。,23,課堂演示-編寫(xiě)描述大學(xué)生的Java類(lèi),【案例4-2】編寫(xiě)描述大學(xué)生的Java類(lèi) 【案例學(xué)習(xí)目標(biāo)】理解繼承的基本思想,理解父類(lèi)和子類(lèi)的關(guān)系,能在父類(lèi)的基礎(chǔ)上創(chuàng)建子類(lèi) 【案例知識(shí)要點(diǎn)】父類(lèi)和子類(lèi)的概念、子類(lèi)的實(shí)現(xiàn)、extends關(guān)鍵字 【案例完成步驟】 編寫(xiě)程序 編譯并運(yùn)行程序,24,課堂演示-編寫(xiě)描述大學(xué)生的Java類(lèi),編寫(xiě)程序 public class College extends Student private String sMajor; public void getMajor() System.out.println(“專(zhuān)業(yè):“+sMajor);/調(diào)用子類(lèi)的實(shí)例變量 System.out.println(“身高:“+dHeight);/引用父類(lèi)的實(shí)例變量 public static void main(String args) College wangym; wangym=new College(); wangym.getInfo();/調(diào)用父類(lèi)的實(shí)例方法 wangym.getMajor();/調(diào)用子類(lèi)的實(shí)例方法 ,25,課堂演示-編寫(xiě)描述大學(xué)生的Java類(lèi),運(yùn)行結(jié)果,26,學(xué)生模仿2,27,教師示范與講解3,任務(wù)一:方法重載與方法重寫(xiě),案例分析,28,this和super,this代表當(dāng)前對(duì)象本身。 通過(guò)this變量不僅可以引用當(dāng)前對(duì)象的實(shí)例變量,也可引用當(dāng)前對(duì)象的實(shí)例方法;但由于類(lèi)變量與類(lèi)方法不屬于具體的類(lèi)對(duì)象,因此不能通過(guò)this變量引用類(lèi)變量和類(lèi)方法,在類(lèi)方法中也不能使用this變量。 在引用實(shí)例變量時(shí),使用this變量是一種很好的習(xí)慣,它能使程序更加清晰,且不容易出錯(cuò)。 super代表當(dāng)前類(lèi)的父類(lèi)。通過(guò)super可以調(diào)用父類(lèi)的構(gòu)造方法和父類(lèi)的成員(成員變量和成員方法)。,29,方法重載與方法重寫(xiě),方法重載指類(lèi)的同名方法在向其傳遞不同的參數(shù)時(shí)可以有不同的動(dòng)作,實(shí)現(xiàn)不同的功能 子類(lèi)從父類(lèi)中繼承方法時(shí),需要修改父類(lèi)中定義的方法(即只修改方法體,方法的參數(shù)類(lèi)型、個(gè)數(shù)、順序以及返回值保持相同),這就是方法的重寫(xiě),30,課堂演示方法重載與方法重寫(xiě),【案例4-3】方法重載與方法重寫(xiě) 【案例學(xué)習(xí)目標(biāo)】理解方法重載的含義和應(yīng)用場(chǎng)合,理解方法重寫(xiě)的含義和應(yīng)用場(chǎng)合,掌握實(shí)現(xiàn)方法重載的方法,掌握實(shí)現(xiàn)方法重寫(xiě)的方法,能在實(shí)際應(yīng)用中合理選擇方法重載或方法重寫(xiě)。 【案例知識(shí)要點(diǎn)】方法重載的含義、方法重寫(xiě)的含義、方法重載的方法、方法重寫(xiě)的方法。 【案例完成步驟】 編寫(xiě)程序 編譯并運(yùn)行程序,31,課堂演示-方法重載與方法重寫(xiě),編寫(xiě)方法重載的程序 public class OverLoadDemo void purchase() System.out.println(“買(mǎi)菜“); void purchase(String what) System.out.println(“買(mǎi)“+what); void purchase(String what,int number) System.out.println(“買(mǎi)“+number+“斤“+what); void purchase(String what,String where) System.out.println(“到“+where+“買(mǎi)“+what); ,32,課堂演示-方法重載與方法重寫(xiě),void purchase(String what,int number,String where) System.out.println(“到“+where+“買(mǎi)“+number+“斤“+what); void purchase(String what,int number,String where,String when) System.out.println(when+“到“+where+“買(mǎi)“+number+“斤“+what); public static void main(String args) OverLoadDemo old=new OverLoadDemo(); old.purchase(); old.purchase(“大米“); old.purchase(“大米“,100); old.purchase(“大米“,“步步高超市“); old.purchase(“大米“,100,“步步高超市“); old.purchase(“大米“,100,“步步高超市“,“下午“); ,33,課堂演示-方法重載與方法重寫(xiě),方法重載運(yùn)行結(jié)果,34,課堂演示-方法重載與方法重寫(xiě),編寫(xiě)方法重寫(xiě)的程序 class Stu String sName; void display(String name) System.out.println(“我是一名學(xué)生,我的名字是:“+name); class CollegeStu extends Stu String sMajor; void display(String name) System.out.println(“-“); System.out.println(“我是一名大學(xué)生,我的名字是:“+name); sMajor=“計(jì)算機(jī)“; System.out.println(“我學(xué)習(xí)的專(zhuān)業(yè)是:“+sMajor); ,35,課堂演示-方法重載與方法重寫(xiě),class MiddleStu extends Stu String sSubject; void display(String name) System.out.println(“-“); System.out.println(“我是一名中學(xué)生,我的名字是:“+name); sSubject=“理科“; System.out.println(“我學(xué)習(xí)的科目是:“+sSubject); ,36,課堂演示-方法重載與方法重寫(xiě),public class OverrideDemo public static void main(String args) Stu stu=new Stu(); CollegeStu cstu=new CollegeStu(); MiddleStu mstu=new MiddleStu(); Stu s; s=stu; s.display(“劉津“); s=cstu; s.display(“王詠梅“); s=mstu; s.display(“劉志成“); ,37,課堂演示-方法重載與方法重寫(xiě),方法重寫(xiě)運(yùn)行結(jié)果,38,學(xué)生模仿3,39,教師示范與講解4,40,抽象類(lèi)與抽象方法,在面向?qū)ο蠓治鲈O(shè)計(jì)時(shí),可將一些實(shí)體作高度抽象定義成抽象類(lèi)。抽象類(lèi)沒(méi)有任何對(duì)象,只可作為一個(gè)模板用于創(chuàng)建子類(lèi),以及為面向?qū)ο筇峁└`活的多態(tài)機(jī)制 抽象類(lèi)定義的一般格式如下: public abstract class 類(lèi)名 extends 父類(lèi)名 implements 接口名表 方法體; ,41,抽象類(lèi)與抽象方法,抽象類(lèi)的聲明,必須在class關(guān)鍵字之前添加abstract關(guān)鍵字。 抽象類(lèi)與其他類(lèi)一樣,可繼承于其他類(lèi),也可實(shí)現(xiàn)接口。但定義抽象類(lèi)的主要目的就是為了創(chuàng)建子類(lèi),因此abstract類(lèi)不可以是final類(lèi)。 抽象類(lèi)中可以不包含抽象方法,但包含抽象方法的類(lèi)必須是抽象類(lèi)。 抽象方法聲明的一般格式如下: 存取修飾符 abstract 方法返回類(lèi)型 方法名( 形式參數(shù)表) throws 異常表;,42,Final修飾符,出于保密或其他設(shè)計(jì)上的原因,希望類(lèi)或類(lèi)中成員變量、成員方法不被修改或重寫(xiě),可以通過(guò)Java提供的final修飾符來(lái)實(shí)現(xiàn) 在類(lèi)定義時(shí),可使用final修飾符使類(lèi)不被繼承 在定義成員變量時(shí),可通過(guò)final修飾符定義常量 在定義方法時(shí),可使用final修飾符避免方法被子類(lèi)重寫(xiě),43,課堂演示-定義形狀,【案例4-4】定義形狀 【案例學(xué)習(xí)目標(biāo)】了解抽象類(lèi)的定義方法,掌握由抽象類(lèi)得到具體類(lèi)的方法,能根據(jù)實(shí)際應(yīng)用編寫(xiě)抽象類(lèi)和具體類(lèi) 【案例知識(shí)要點(diǎn)】抽象類(lèi)的定義、抽象類(lèi)和具體類(lèi)的關(guān)系、abstract關(guān)鍵字 【案例完成步驟】 編寫(xiě)程序 編譯并運(yùn)行程序,44,課堂演示-定義形狀,編寫(xiě)程序 abstract class Shape public abstract void getArea(); class Circle extends Shape final double PI=3.1415926; double dRadius; public void getArea() System.out.println(“圓的面積為:“+PI*dRadius*dRadius); public Circle(double r) this.dRadius=r; ,45,課堂演示-定義形狀,class Rectangle extends Shape double dLength; double dWidth; public void getArea() System.out.println(“矩形的面積為:“+dLength*dWidth); public Rectangle(double l,double w) this.dLength=l; this.dWidth=w; public class AbstractDemo public static void main(String args) Circle cc=new Circle(5.6); cc.getArea(); Rectangle rt=new Rectangle(8,6); rt.getArea(); ,46,課堂演示-定義形狀,運(yùn)行結(jié)果,47,學(xué)生模仿4,48,教師示范與講解5,49,接口定義,接口被描述為一組方法聲明和常量的集合 接口只定義一組方法協(xié)議(或稱(chēng)標(biāo)準(zhǔn)),但沒(méi)有作任何具體實(shí)現(xiàn)。接口的定義與類(lèi)的定義相似,其一般格式為: public interface 接口名 extends 父輩接口列表 常量定義 方法聲明 ,50,實(shí)現(xiàn)接口,實(shí)現(xiàn)接口的定義格式如下: publicabstractfinal class 類(lèi)名 extends 父類(lèi)名 implements 接口名表 /接口體內(nèi)容1 /接口方法實(shí)現(xiàn) /接口體內(nèi)容2 與普通類(lèi)的定義不同,接口實(shí)現(xiàn)必須包含“implements 接口名表”部分 在實(shí)現(xiàn)類(lèi)中,一般必須重寫(xiě)接口中聲明的所有方法。 重寫(xiě)方法的名稱(chēng)、返回值、修飾符必須與接口中聲明的方法一致。,51,課堂演示-實(shí)現(xiàn)電視機(jī)遙控器,【案例4-5】實(shí)現(xiàn)電視機(jī)遙控器 【案例學(xué)習(xí)目標(biāo)】進(jìn)一步理解繼承和多繼承的含義,掌握接口聲明的方法,掌握接口體定義的方法,會(huì)根據(jù)實(shí)際應(yīng)用編寫(xiě)接口 【案例知識(shí)要點(diǎn)】接口聲明、接口體定義、使用接口、interface關(guān)鍵字 【案例完成步驟】 編寫(xiě)接口程序 編寫(xiě)實(shí)現(xiàn)接口的程序 編寫(xiě)測(cè)試接口的主類(lèi) 運(yùn)行程序,52,課堂演示-實(shí)現(xiàn)電視機(jī)遙控器,編寫(xiě)接口程序 interface IRemoteCtrl int VOLUME_MIN = 0; int VOLUME_MAX = 100; boolean powerOnOff(boolean b); /電源開(kāi)關(guān) int volumeUp(int increment); /聲音放大 int volumeDown(int decrement); /聲音減小 void mute();/靜音 ,53,課堂演示-實(shí)現(xiàn)電視機(jī)遙控器,編寫(xiě)實(shí)現(xiàn)接口的程序(見(jiàn)書(shū)本) 編寫(xiě)測(cè)試接口的主類(lèi) public class TestTvCtrl public static void main(String args) TVRemoteCtrl tv=new TVRemoteCtrl(“海爾 H600“); tv.powerOnOff(true); /tv.powerOnOff(false); tv.setChannel(45); tv.channelDown(); tv.mute(); tv.volumeUp(2); tv.volumeUp(3); ,54,課堂演示-實(shí)現(xiàn)電視機(jī)遙控器,運(yùn)行結(jié)果,55,學(xué)生模仿5,56,教師示范與講解6,57,定義包,在Java語(yǔ)言中,與客觀世界中系統(tǒng)相對(duì)應(yīng)的概念稱(chēng)為包(Package)。 包是一種分組機(jī)制,設(shè)計(jì)者可將一組高內(nèi)聚、低耦合、關(guān)聯(lián)性較強(qiáng)的模型元素(可以是類(lèi)、接口、包)組織在一起,形成一個(gè)更高層次的單元 包由一組類(lèi)和接口組成。它是管理大型名字空間,避免名字沖突的工具。每一個(gè)類(lèi)和接口的名字都包含在某個(gè)包中。 使用包的作用有兩個(gè):一是劃分類(lèi)名空間,二是控制類(lèi)之間的訪問(wèn)。 定義包的一般格式如下: package packageName;,58,引入包,在一個(gè)類(lèi)中,如果要使用其他包中的類(lèi)和接口則用import關(guān)鍵詞來(lái)標(biāo)明來(lái)自其他包中的類(lèi)。 Java提供import關(guān)鍵詞來(lái)引用包,指定包的名字,包括路徑名和類(lèi)名,用“*”匹配符可以調(diào)入多個(gè)類(lèi)。 通常一個(gè)類(lèi)只能引用與它在同一個(gè)包中的類(lèi),如果需要使用其他包中的public類(lèi),則可以使用如下的幾種方法。 在要使用的類(lèi)前加包名 用import關(guān)鍵字加載需要使用的類(lèi) 用import關(guān)鍵字加載整個(gè)包 設(shè)置CLASSPATH環(huán)境變量,59,Java常用類(lèi)庫(kù),60,數(shù)組與字符串,數(shù)組是一種常用的數(shù)據(jù)結(jié)構(gòu),相同數(shù)據(jù)類(lèi)型的元素按一定順序排列就構(gòu)成了數(shù)組。 數(shù)組中的各元素是有先后順序的,它們?cè)趦?nèi)存中按照這個(gè)先后順序連續(xù)存放在一起。 數(shù)組有一個(gè)成員變量length來(lái)說(shuō)明數(shù)組元素的個(gè)數(shù)。 創(chuàng)建一個(gè)空數(shù)組。 int list=new int5; 用初始數(shù)值填充數(shù)組。 String names=“l(fā)iujin“,“wangym“,“Liuzc“;,61,一維數(shù)組,聲明一個(gè)數(shù)組其實(shí)就是要確定數(shù)組名、數(shù)組的維數(shù)和數(shù)組元素的數(shù)據(jù)類(lèi)型。聲明數(shù)組的語(yǔ)法格式有兩種: 數(shù)組元素類(lèi)型 數(shù)組名;或 數(shù)組元素類(lèi)型 數(shù)組名; 聲明數(shù)組后,要想使用數(shù)組需要為它開(kāi)辟內(nèi)存空間,即創(chuàng)建數(shù)組空間。創(chuàng)建數(shù)組空間的語(yǔ)法格式為: 數(shù)組名=new 數(shù)組元素類(lèi)型數(shù)組元素的個(gè)數(shù); 在聲明數(shù)組時(shí)“”中不允許指定數(shù)組元素的個(gè)數(shù),如int iSno6將導(dǎo)致語(yǔ)法錯(cuò)誤。 正確區(qū)分“數(shù)組的第5個(gè)元素”和“數(shù)組元素5”很重要,因?yàn)閿?shù)組下標(biāo)從0開(kāi)始,“數(shù)組的第5個(gè)元素”的下標(biāo)是4,而“數(shù)組元素5”的下標(biāo)是5,實(shí)際是數(shù)組的第6個(gè)元素 當(dāng)數(shù)組初始化后就可通過(guò)數(shù)組名與下標(biāo)來(lái)引用數(shù)組中的每一個(gè)元素。一維數(shù)組元素的引用格式如下: 數(shù)組名數(shù)組下標(biāo),62,二維數(shù)組,二維數(shù)組的聲明與一維數(shù)組相似,只是需要給出兩對(duì)方括號(hào)。格式如下 : 類(lèi)型標(biāo)識(shí)符 數(shù)組名;或 類(lèi)型標(biāo)識(shí)符 數(shù)組名; 在初始化二維數(shù)組時(shí),可以只指定數(shù)組的行數(shù)而不給出數(shù)組的列數(shù),每一行的長(zhǎng)度由二維數(shù)組引用時(shí)決定,但不能只指定列數(shù)而不指定行數(shù) 不指定行數(shù)只指定列數(shù)是錯(cuò)誤的,63,課堂演示-讀取隊(duì)列元素,【案例4-6】讀取隊(duì)列元素 【案例學(xué)習(xí)目標(biāo)】了解數(shù)組的含義,掌握數(shù)組的定義方法,掌握數(shù)組的賦值方法,掌握數(shù)組元素的引用方法,在實(shí)際編程中能夠合理地使用數(shù)組 【案例知識(shí)要點(diǎn)】一維數(shù)組的定義、一維數(shù)組的賦值、一維數(shù)組元素的引用 【案例完成步驟】 編寫(xiě)程序 編譯并運(yùn)行程序,64,課堂演示-讀取隊(duì)列元素,編寫(xiě)程序 public class Queue public static void main(String args) int i; int a=new int5; for(i=0;i=0;i-) System.out.println(“a“+i+“=“+ai); ,65,課堂演示-讀取隊(duì)列元素,運(yùn)行結(jié)果,66,學(xué)生模仿6,67,教師示范與講解7,68,String類(lèi),字符串是程序中的一個(gè)通用且重要的信息類(lèi)型,在程序中經(jīng)常要把各種各樣的信息以字符串的形式傳遞、通信和輸出顯示,而Java為字符串操作提供了許多特殊的支持。,69,StringBuffer類(lèi),StringBuffer是字符串類(lèi)String的對(duì)等類(lèi), 提供了大量的字符串功能。 String表示定長(zhǎng)、不可變的字符序列,而StringBuffer表示變長(zhǎng)的和可修改的字符序列,可用于動(dòng)態(tài)創(chuàng)建和操作動(dòng)態(tài)字符串信息。 StringBuffer支持字符或子字符串的插入或追加的操作,并可針對(duì)這些字符或子字符串的添加而自動(dòng)地增加空間。,70,課堂演示-操作字符串,【案例4-7】操作字符串 【案例學(xué)習(xí)目標(biāo)】了解String對(duì)象和StringBuffer對(duì)象的異同,掌握String對(duì)象的構(gòu)造方法,掌握StringBuffer對(duì)象的構(gòu)造方法,在實(shí)際開(kāi)發(fā)中能夠合理使用String對(duì)象或StringBuffer對(duì)象提供的相關(guān)方法完成字符串的基本操作 【案例知識(shí)要點(diǎn)】String對(duì)象的構(gòu)造方法、String對(duì)象的常用方法、StringBuffer對(duì)象的構(gòu)造方法、StringBuffer對(duì)象的常用方法 【案例完成步驟】 編寫(xiě)程序 編譯并運(yùn)行程序,71,課堂演示-操作字符串,編寫(xiě)程序 publi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論