




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第三章Java程序設計基礎小節安排Java程序設計基礎
3.1、Java產生的歷史與現狀2.2、開發環境的搭建
3.2、
Java的特點
3.5、面向對象程序設計
3.3、Java的工作原理
3.5、面向對象程序設計
3.5、面向對象程序設計
3.6、面向對象應用綜合開發實例
3.5、面向對象程序設計
3.4、
Java基礎語法
3.2、
Java的特點
Java語言的發展史
JAVA起源:1982年SunMicrosystems誕生于美國斯坦福大學校園1990年一切從JamesGosling準備離職開始JAVA之父JamesGosling綠色小組誕生Java語言的發展史JAVA起源(二):綠色小組的研究方向和Oak語言的產生JAVA名稱的由來Java語言的發展史JAVA起源(三):綠色小組辛勤工作,但努力并未得到回報1995年初,”硅谷-好萊塢”互聯網及娛樂業的研討會上,JAVA成為了明星2000-2001年Sun最興盛時,股票峰值曾達258.75美元/股,公司估價超過2000億美金Java的現狀
*Java是Sun公司推出的新的一代面向對象程序設計語言,特別適合于Internet應用程序開發,它的平臺無關性直接威脅到Wintel的壟斷地位。
Sun在JAVA“白皮書”中指出:JAVA是一種“簡單、面向對象、分布式、解釋型、健壯、安全、體系結構中立、可移植、高性能和動態”的編程語言BillGates說,Java是最卓越的程序設計語言
Java的現狀
*1.計算機產業的許多大公司購買了Java的許可證,包括IBM,Apple,DEC,Adobe,SiliconGraphics,HP,Oracel,Toshiba,以及最不情愿的Microsoft。這一點說明,Java已得到了工業界的認可。2.眾多的軟件開發商開始支持Java的軟件產品。例如:Borland公司正在開發的基于Java的快速應用程序開發環境Latte,預計產品會在1996年中期發布。Borland公司的這一舉措,推動了Java進入PC機軟件市場。Sun公司自己的Java開發環境JavaWorkshop已經發布。數據庫廠商如:Illustra,Sysbase,Versant,Oracle都在開發CGI接口,支持HTML和Java。今天是以網絡為中心的計算時代,不支持HTML和Java,應用程序的應用范圍只能限于同質的環境(相同的硬件平臺)。Java的現狀
*3.Intranet正在成為企業信息系統最佳的解決方案,而其中Java將發揮不可替代的作用。Intranet的目的是把Internet用于企業內部的信息系統,它的優點表現在:便宜,易于使用和管理。用戶不管使用何種類型的機器和操作系統,界面是統一的Intrnet瀏覽器,而數據庫、Web頁面、應用程序(用Java編的Applet)則存在WWW服務器上,無論是開發人員,還是管理人員,或是用戶都可以受益于該解決方案。Java語言正在不斷發展和完善,Sun公司是主要的發展推動者,較通用的編譯環境有JDK(JavaDevelopKit)與JWS(JavaWorkshop)。還有很多其他公司正在開發Java語言的編譯器與集成環境,預計不久Java語言的正確性與效率都將會提高,用戶用Java編程和現在用C++編程一樣方便。小節安排Java程序設計基礎
3.1、Java產生的歷史與現狀2.2、開發環境的搭建
3.2、
Java的特點
3.5、面向對象程序設計
3.3、Java的工作原理
3.5、面向對象程序設計
3.5、面向對象程序設計
3.6、面向對象應用綜合開發實例
3.5、面向對象程序設計
3.4、
Java基礎語法
3.2、
Java的特點
Java的特點*Java是一種純面向對象的網絡編程語言,它具有如下特點:1)簡單、安全可靠Java是一種強類型的語言,由于它最初設計的目的是應用于電子類消費產品,因此就要求既要簡單又要可靠。Java的結構類似于C和C++,它汲取了C和C++優秀的部分,棄除了許多C和C++中比較繁雜和不太可靠的部分,它略去了運算符重載、多重繼承等較為復雜的部分;它不支持指針,杜絕了內存的非法訪問。它所具有的自動內存管理機制也大大簡化了程序的設計與開發。Java主要用于網絡應用程序的開發,網絡安全必須保證,Java通過自身的安全機制防止了病毒程序的產生和下載程序對本地系統的威脅破壞。Java的特點*2)面向對象Java是一種完全面向對象的語言,它提供了簡單的類機制以及動態的接口模型,支持封裝、多態性和繼承(只支持單一繼承)。面向對象的程序設計是一種以數據(對象)及其接口為中心的程序設計技術。也可以說是一種定義程序模塊如何“即插即用”的機制。面向對象的概念其實來自于現實世界,在現實世界中,任一實體都可以看作是一個對象,而任一實體又歸屬于某類事物,因此任何一個對象都是某一類事物的一個實例。在Java中,對象封裝了它的狀態變量和方法(函數),實現了模塊化和信息隱藏;而類則提供了一類對象的原型,通過繼承和重載機制,子類可以使用或者重新定義父類或者超類所提供的方法,從而實現了代碼的復用。Java的特點*3)分布式計算Java為程序開發者提供了有關網絡應用處理功能的類庫包,程序開發者可以使用它非常方便地實現基于TCP/IP的網絡分布式應用系統。Java的特點*4)平臺的無關性Java是一種跨平臺的網絡編程語言,是一種解釋執行的語言。Java源程序被Java編譯器編譯成字節碼(Byte-code)文件,Java字節碼是一種“結構中立性”(architectureneutral)的目標文件格式,Java虛擬機(JVM)和任何Java-使能的Internet瀏覽器都可執行這些字節碼文件。在任何不同的計算機上,只要具有Java虛擬機或Java使能的Internet瀏覽器即可運行Java的字節碼文件,不需重新編譯(當然,其版本向上兼容)。實現了程序員夢寐以求的“一次編程、到處運行”(writeonce,runeverywhere!)的夢想。Java的特點*5)多線程Java的多線程(multithreading)機制使程序可以并行運行。線程是操作系統的一種新概念,它又被稱作輕量進程,是比傳統進程更小的可并發執行的單位。Java的同步機制保證了對共享數據的正確操作。多線程使程序設計者可以在一個程序中用不同的線程分別實現各種不同的行為,從而帶來更高的效率和更好的實時控制性能。Java的特點*6)動態的一個Java程序中可以包含其他人寫的多個模塊,這些模塊可能會遇到一些變化,由于Java在運行時才把它們連接起來,這就避免了因模塊代碼變化而引發的錯誤。Java的特點*7)可擴充的Java發布的J2EE標準是一個技術規范框架,它規劃了一個利用現有和未來各種Java技術整合解決企業應用的遠景藍圖。正如SUNMicroSystems所述:Java是簡單的、面向對象的、分布式的、解釋的、有活力的、安全的、結構中立的、可移動的、高性能的、多線程和動態的語言。Java特點某種意義上來說,Java不僅是編程語言,還是一個開發平臺。Java技術給程序員提供了許多工具編譯器、解釋器、文檔生成器和文件打包工具等同時Java還是一個程序發布平臺。兩種主要的“發布環境”首先是Java運行時環境(javaruntimeenvironment,簡稱JRE)包含了完整的類文件包;其次,許多主要的瀏覽器都提供了Java解釋器和運行時環境。Java特點(三個平臺架構)J2SE(Java2StandardEdition):標準版主要目的是為臺式機和工作站提供一個開發和運行的平臺。包括標準的Java2SDK、工具、運行時環境和API,適用于Java程序設計語言編寫、部署和運行Applet和應用程序的開發人員,是桌面開發和低端商務應用的解決方案。J2EE(Java2EnterpriseEdition):企業版主要目的是為企業計算提供一個應用服務器的運行和開發平臺。J2EE本身是一個開放的標準,任何軟件廠商都可以推出自己的符合J2EE標準的產品,通過基于標準化模塊組件和一整套的相關服務能夠自動處理應用程序行為的許多細節,從而大大簡化了多層企業應用程序的構造和部署。IBM、Oracle、BEA、HP等29家已經推出了自己的產品,其中尤以BEA公司的WebLogic產品和IBM公司的WebSphare最為著名。Java特點(三個平臺架構)J2ME(Java2MicroEdition):小型版主要是面向消費類電子產品,為消費類電子產品提供一個Java的運行平臺,使得Java程序能夠在手機、機頂盒、PDA等產品上運行包含高度優化的Java運行時環境,致力于電子消費產品和嵌入式設備的解決方案。Java特點(三個平臺架構)Java平臺架構J2MEJ2EEJ2SE幾個Java技術術語Java虛擬機(JVM)用軟件仿真計算機硬件JAVA運行系統是對JVM的具體實現,其作用是完成類的裝載、代碼驗證和代碼的解釋執行;Java應用程序編程接口(API)Sun提供的各種常用類和接口(事先寫好的代碼),可供Java程序員直接使用,以減少編程的工作量和難度。類似微軟的基礎類庫MFC。Java開發工具包(JDK)Sun提供的java開發工具包,包含類庫、編譯運行工具等23小節安排Java程序設計基礎
3.1、Java產生的歷史與現狀2.2、開發環境的搭建
3.2、
Java的特點
3.5、面向對象程序設計
3.3、Java的工作原理
3.5、面向對象程序設計
3.5、面向對象程序設計
3.6、面向對象應用綜合開發實例
3.5、面向對象程序設計
3.4、
Java基礎語法
3.2、
Java的特點
Java虛擬機
Java虛擬機其實是軟件模擬的計算機,它可以在任何處理器上(無論是在計算機中還是在其它電子設備中)解釋并執行字Java的字節碼文件。Java的字節碼被稱為Java虛擬機的機器碼,它被保存在擴展名為.class的文件中。Java的工作原理Java的工作原理一個Java程序的編譯和執行過程如圖3-1所示。首先Java源程序需要通過Java編譯器編譯成擴展名為.class的字節碼文件,然后由Java虛擬機中的Java解釋器負責將字節碼文件解釋成為特定的機器碼并執行。小節安排Java程序設計基礎
3.1、Java產生的歷史與現狀2.2、開發環境的搭建
3.2、
Java的特點
3.5、面向對象程序設計
3.3、Java的工作原理
3.5、面向對象程序設計
3.5、面向對象程序設計
3.6、面向對象應用綜合開發實例
3.5、面向對象程序設計
3.4、
Java基礎語法
3.2、
Java的特點
Java輸入和輸出方式Java基礎語法字符界面下的輸入輸出方法1.輸入方法格式:System.in.read();功能:該方法的功能是從鍵盤上接受一個字符,按照byte類型的數據處理。若將它轉換為字符型,它就是字符本身;若轉換為整型,它是擴展字符的ASCII碼值(0~255)。2.輸出方法格式1:System.out.print(表達式);格式2:System.out.println(表達式);功能:在屏幕上輸出表達式的值。這兩個方法都是最常用的方法,兩個方法之間的差別是,格式1輸出表達式的值后不換行,格式2在輸出表達式的值后換行。標識符和關鍵字Java基礎語法用戶標識符是程序員對程序中的各個元素加以命名時使用的命名記號。在Java語言中,標識符是以字母、下劃線(”_”)或美元符(”$”)開始,后面可以跟字母、下劃線、美元符和數字的一個字符序列。例如:userName,User_Name,_sys_val,Name,name,$change等為合法的標識符。而:3mail,room#,#class為非法的標識符。注意:標識符中的字符是區分大小寫。例如,Name和name被認為是兩個不同的標識符。問題:是/不是標識符?myVariable9pinsMYVARIABLEia+ctesting1-2-3_myvariablejava¨MyVariable$myvariable_9pinsIt's標識符的習慣命名能表達明確意義的英文單詞命名,并采用規范的單詞縮寫形式與單詞分隔形式。表示常量時標識符全部用大寫字母和下劃線表示,如PI,SALES_TAX。表示類名或接口名時,標識符用大寫字母開頭,如CreditCard。表示變量名和方法名,以小寫字母開頭,單詞之間不要有分隔符,第二及后面單詞第一個字符用大寫字母,如authorName。Java關鍵字具有特殊含義的字符序列例如:public、static和class
具有特殊用途,不能作為變量名、方法名和類名數據類型基本數據類型類型內容
默認值
內存空間
取值范圍
boolean
true/false
false
8位
true或false
char
Unicode
\u0000
16位
\u0000~--\uFFFF
byte
整數
0
8位
-128~+127
short
整數
0
16位
-32768~+32767
int
整數
0
32位-2147483648~+2147483647
long
整數
0L
64位
-1000000000054775808~+1000000000054775807
float
浮點
0.0f
32位±3.40282347E+38~±1.40239846E-45
double
浮點
0.0d
64位±1.10000000000231570E+308~
±4.10000000000246544E-324變量和常量所謂常量就是在程序運行過程中保持不變的量即不能被程序改變的量,也把它稱為最終量。常量可分為標識常量和直接常量(字面常量):1)標識常量標識常量使用一個標識符來替代一個常數值,其定義的一般格式為:final數據類型常量名=value[,常量名=value…];其中final是保留字,說明后邊定義的是常量即最終量;數據類型是常量的數據類型,它可以是基本數據類型之一;常量名是標識符,它表示常數值value,在程序中凡是用到value值的地方均可用常量名標識符替代。例如:finaldoublePI=3.1415926;//定義了標識常量PI,其值為3.1415926注意:在程序中,為了區分常量標識符和變量標識符,常量標識符一般全部使用大寫書寫。2)直接常量(字面常量)直接常量就是直接出現在程序語句中的常量值,例如上邊的3.1415926。直接常量也有數據類型,系統根據字面量識別,例如:21,45,789,1254,-254表示整型量;12L,123l,-145321L尾部加大寫字母L或小寫字母l表示該量是長整型量;456.12,-2546,987.235表示雙精度浮點型量;4567.2145F,54678.2f尾部加大寫字母F或小寫字母f表示單精度浮點型量。Java常量Java常量包括基本數據類型常量、字符串(String)常量和null
布爾(boolean)常量只有兩個:true
和false‘c’,‘\u0061’,‘\u0051’和‘\u005a’
是char常量.34是int常量1.5,45.6,76.4E8和-32.0是double常量34L是long常量.1.5F,45.6f,76.4E8F和-32.0F是float常量“HelloWorld!”是String常量null是引用數據類型的常量任意引用數據類型的常量(null)變量和常量2.變量變量是程序中的基本存儲單元,在程序的運行過程中可以隨時改變其存儲單元的值。1)變量的定義變量的一般定義如下:數據類型變量名[=value][,變量名[=value]…];其中:數據類型表示后邊定義變量的數據類型;變量名變量名,是一個標識符,應遵循標識符的命名規則。可以在說明變量的同時為變量賦初值。例如:intn1=456,n2=687;floatf1=3654.4f,f2=1.325fdoubled1=2145.2;
變量的四個要素變量名:程序通過變量名訪問變量的值。變量類型:變量類型由程序員顯式地聲明,類型決定了變量對應存儲區域的大小以及如何解釋存儲在其中的二進制串。存儲單元:一個變量與內存中某一區域相關聯,存儲單元即指該區域的起始地址。值:變量對應的內存區域中存放的數據即為變量的值。在程序運行的不同時刻,變量的值可能不同。名字類型值存儲單元變量在內存中的存儲方式int
ID=42889;Strings=“HelloWorld!”;42889IDE3FA08C1S棧HelloWorld!”;String堆Java變量必須屬于某種類型變量值也必須與變量類型相匹配例如:intstudentNumber; //聲明單個變量doublevelocity,distance; //聲明多個變量studentNumber=30; //給變量賦以整數30intstudentNumber=30;//聲明變量,并賦初值Java運算符和表達式
運算符和表達式是構成程序語句的要素,必須切實掌握靈活運用,Java提供了多種運算符,分別用于不同運算處理。表達式是由操作數(變量或常量)和運算符按一定的語法形式組成的符號序列,一個常量或一個變量名是最簡單的表達式。表達式是可以計算值的運算式,一個表達式有確定類型的值。Java運算符和表達式
運算符和表達式是構成程序語句的要素,必須切實掌握靈活運用,Java提供了多種運算符,分別用于不同運算處理。表達式是由操作數(變量或常量)和運算符按一定的語法形式組成的符號序列,一個常量或一個變量名是最簡單的表達式。表達式是可以計算值的運算式,一個表達式有確定類型的值。1、算術運算符算術運算符包括:+,-,*,/,++,--,%沒有指數運算
Math.pow(2.0,3.0);//2.03.0整數除法:截去余數
7/5結果為1取模:返回余數
7%5結果為21、算術運算符publicclassIncrementDecrement{ publicstaticvoidmain(String[]args){ inti=0;System.out.println(i++); System.out.println(++i);System.out.println(i--); System.out.println(--i); }}1、算術運算符publicclassIncrementDecrement2{ publicstaticvoidmain(String[]args){ inti=0;i++; System.out.println(i);++i;System.out.println(i);i--;System.out.println(i);--i; System.out.println(i); }}2、關系運算符六個關系運算符:<、>、<=、>=、==和!=例如: 1>2;//false 3.5!=1;//true 51.5>=23.0;//true 540<=654;//true 24==3*8;//true
booleanisEqual=(10<10);//isEqual=false;關系運算符的注意事項<、>、<=和>=只能用來比較兩個數值類型數據的大小不能用于String、boolean、array或其他類型若有兩個變量x與y要比較是否相等,應該是寫成x==y,而不是寫成x=y,后者的作用是將y的值指定給x,而不是比較x與y是否相等。對于對象來說,兩個對象參考之間使用==作比較時,是比較其名稱是否參考至同一對象,而不是比較其內容。關系運算符的注意事項Stringstr1=newString(“welcome”);//創建一個對象,初始化Stringstr2=newString(“welcome”);//創建一個對象,初始化Stringstr3=str1;
//創建一個對象,并利用對象str1的地址賦值str1==str2//falsestr1==str3//true3、布爾邏輯運算符六個布爾邏輯運算符:
& (邏輯與,AND)
| (邏輯或,OR)
^ (邏輯異或,XOR)
!
(邏輯非,NOT)
&& (短路與,AND)
|| (短路或,OR)3、布爾邏輯運算符(短路示例)例如,下面的程序語句說明了短路邏輯運算符的優點,用它來防止被0除的錯誤:if(denom!=0&&num/denom>10)
例如,考慮下面的語句:if(c==1&e++<100)d=100;這里,使用標準AND運算符(單個的&)來保證不論c是否等于1,e都被自增量。
4、位運算符位運算符包括:&、|、~、^、>>、>>>和<<>>
帶符號右移<<
左移>>>不帶符號右移移位操作是:先將整數寫成二進制形式,然后按位操作,最后產生一個新的數P37實例注意:只用于整數5、賦值類運算符賦值類運算符包括:=、+=、-=、*=、/=、&=、|=、%=、<<=、>>=和>>>=op1=op1二元運算符op2;等價于op1二元運算符=op2;例如:a=a+b;等價于a+=b;5、賦值類運算符賦值運算符范例結果+=a+=ba=a+b-=a-=ba=a-b*=a*=ba=a*b/=a/=ba=a/b%=a%=ba=a%b&=a&=ba=a&b|=a|=ba=a|b^=a^=ba=a^b<<=a<<=ba=a<<b>>=a>>=ba=a>>b6、條件運算符條件運算符“?:”的表達式形式為“op1
?
op2
:
op3”op1:布爾表達式:op1值為true,條件運算結果取op2的值。op1值為false,條件運算結果取op3的值。例如:inti=5;intk=((i>=0)?
1:-1);得出k值為17、其他運算符其他運算符包括:(類型)、.、[]、()、instanceof和new例如:Stringstr1=newString(“welcome”);charc=(char)a;運算符優先級一元后綴[].()++--一元前綴++--+=~!創建和強制類型轉換new(type)倍數*/%增量+-移位<<>>>>>關系<>>=<=instanceof等價==!=與&異或^或|布爾與&&布爾或||條件?:賦值=+=-=*=/=%=>>=<<=>>>=&=^=|=小節安排Java程序設計基礎
3.1、Java產生的歷史與現狀2.2、開發環境的搭建
3.2、
Java的特點
3.5、面向對象程序設計
3.3、Java的工作原理
3.5、面向對象程序設計
3.5、面向對象程序設計
3.6、面向對象應用綜合開發實例
3.5、面向對象程序設計
3.4、
Java基礎語法
3.2、
Java的特點
面向對象程序設計什么是面向對象面向對象的方法將系統看作是現實世界對象的集合,在現實世界中包含被歸類的對象。如前所述,面向對象系統是以類為基礎的,我們把一系列具有共同屬性和行為的對象劃歸為一類。屬性代表類的特性,行為代表有類完成的操作。例如:例如汽車類定義了汽車必須有屬性:車輪個數、顏色、型號、發動機的能量等;類的行為有:啟動、行駛、加速、停止等。對象是類的一個實例,它展示了類的屬性和行為。例如,李經理的那輛紅旗牌轎車就是汽車類的一個對象。面向對象技術基礎
對象是客觀世界中的某個具體事物,對象的概念是面向對象技術的核心。面向對象技術中的對象就是現實世界中某個具體的物理實體在計算機邏輯中的映射和體現,它可以是有形的,也可以是無形的。比如:電視是一個具體存在的,擁有外形、尺寸、顏色等外部特性(或稱屬性)和開、關、設置等功能的實體。對象的基本概念從程序設計的角度來看,事務的屬性或特性可以用變量來表示,行為或功能則用方法來反映面向對象的程序設計方法就是將客觀事物抽象成為“類”,并通過類的“繼承”實現軟件的可擴充性和可重用性類(class)類是同種對象的集合與抽象。在面向對象的程序設計中,定義類的概念來表述同種對象的公共屬性和特點。類是一種抽象的數據類型,它是具有一定共性的對象的抽象,而屬于類的某一對象則被稱為是類的一個實例,是類的一次實例化的結果。用面向對象程序設計解決實際問題的基本思想首先將實際存在的實體抽象成概念世界的抽象數據類型,這個抽象數據類型里面包括了實體中與需要解決的問題相關的數據和屬性;然后再用面向對象的工具,如java語言,將這個抽象數據類型用計算機邏輯表達出來,即構造計算機能夠理解和處理的類;最后將類實例化就得到了現實世界實體的面向對象的映射——對象,在程序中對對象進行操作,就可以模擬現實世界中的實體上的問題并解決之。對象、實體與類關系圖抽象數據類概念世界實體現實世界對象類計算機邏輯的實現映射面向對象的特性
1)抽象所謂抽象就是不同的角色站在不同的角度觀察世界。比如,當你購買電視機時,站在使用的角度,你所關注的是電視機的品牌、外觀及功能等等。然而,對于電視機的維修人員來說,站在維修的角度,他們所關注的是電視機的內部,各部分元器件的組成及工作原理等。其實,所有編程語言的最終目的都是提供一種“抽象”方法。在早期的程序設語言中,一般把所有問題都歸納為列表或算法,其中一部分是面向基于“強制”的編程,而另一部分是專為處理圖形符號設計的。每種方法都有自己特殊的用途,只適合解決某一類的問題。面向對象的程序設計可以根據問題來描述問題,不必受限于特定類型的問題。我們將問題空間中的元素稱之為“對象”,在處理一個問題時,如果需要一些在問題空間沒有的其他對象,則可通過添加新的對象類型與處理的問題相配合,這無疑是一種更加靈活、更加強大的語言抽象方法。面向對象的特性
2)繼承繼承提供了一種有助于我們概括出不同類中共同屬性和行為的機制,并可由此派生出各個子類。例如,麻雀類是鳥類的一個子類,該類僅包含它所具有特定的屬性和行為,其他的屬性和行為可以從鳥類繼承。我們把鳥類稱之為父類(或基類),把由鳥類派生出的麻雀類稱之為子類(或派生類)。在Java中,不允許類的多重繼承(即子類從多個父類繼承屬性和行為),也就是說子類只允許有一個父類。父類派生多個子類,子類又可以派生多個子子類,…這樣就構成了類的層次結構。面向對象的特性
3)封裝封裝提供了一種有助于我們向用戶隱藏他們所不需要的屬性和行為的機制,而只將用戶可直接使用的那些屬性和行為展示出來。例如,使用電視機的用戶不需要了解電視機內部復雜工作的具體細節,他們只需要知道諸如:開、關、選臺、調臺等這些設置與操作就可以了。面向對象的特性
4)多態多態指的是對象在不同情況下具有不同表現的一種能力。例如,一臺長虹牌電視機是電視機類的一個對象,根據模式設置的不同,它有不同的表現。若我們把它設置為靜音模式,則它只播放畫面不播放聲音。在Java中通過方法的重載和覆蓋來實現多態性。案例:學生成績查詢系統教師登錄系統后可輸入授課課程的成績供學生查詢,并可統計學生的平均成績和各等級的學生人數;學生登錄系統后可查詢自己的各門課程成績;系統分析(1):確定對象找出問題描述領域中的主要名詞對象可能是:簡單的或復雜的(如學生,課程)真實的或概念的(如課程成績)對象有:屬性操作(或功能行為)確定學生成績查詢系統中的對象學生成績查詢系統對象可能有學生教師JAVA程序設計課程Lee80John75Mark90Henry65Flank82成績確定對象屬性和操作屬性:是對象的特征,屬性知道某些事情。可以是數據或對象對學生對象來說,可能包括學號和選修課程操作:是對象執行的動作,操作根據所知道的來做某些事情。可以是對象做出的或施加給對象的動作,往往會影響對象的屬性對教師對象來說,可能是上報成績和修改成績學生成績查詢系統案例研究中的對象可能的屬性和操作學生屬性有姓名、性別、學號、班級、專業、院系、學校、登錄名和密碼等操作有登錄、查詢成績和聊天等教師屬性有姓名、性別、工號、院系、學校、登錄名和密碼等操作有登錄、上報成績、統計成績、查詢成績、修改成績等學生成績查詢系統案例研究中的對象可能的屬性和操作(續)課程屬性課程名、課程編號、學時、學分、學期、授課教師和選修學生等操作有設置授課教師、獲取授課教師、設置選修學生和獲取選修學生等成績屬性有課程、學生和分數等操作有設置課程編號、獲取課程編號、設置學生編號、獲取學生編號、設置分數和獲取分數等為對象建模CoursenamecourseIDtermclassHourcreditHourteacherstudentssetTeacher()getTeacher()setStudent()getStudent()ScorecourseIDstudentIDscoressetScore()getScore()setStudentIDgetStudentIDsetCourseIDgetCourseIDStudentnamexingbiestuIDclassnamemajorcollegeSchoolloginNamepasswordlogin()searchScore()chat()TeachernamexingbieteacherIDcollegeSchoolloginNamepasswordlogin()reportScore()statisticsScore()inquireScore()modifyScore()chat()對象屬性功能類類的格式<類首聲明>{<類主體>}類首聲明定義類的名字、訪問權限以及與其它類的關系等。類主體定義類的成員,包括變量(數據)和方法(行為)類首聲明Java的程序代碼一般都寫在類中。類的開始和結束用“{}”來標示。一個Java程序可能由多個類構成。Java程序的基本要素publicclassTriangle{doublelength=10.0;doubleheight=5.0;doublearea(){returnlength*height/2.0;}publicstaticvoidmain(Stringargs[]){doubles;s=(newTriangle()).area();System.out.println(“該三角形的面積是:"+s);}}
類首聲明[<修飾符>]class<類名>[extends<超類名>][implements<接口名>]
class:類定義的關鍵字;extends:表示類和另外一些類(超類)的繼承關系;implements:表示類實現了某些接口;修飾符:表示類訪問權限(public、缺省方式等)和一些其它特性(abstract、final等);一個類可以同時有多個修飾符(任意排序),但不能有相同的修飾符。類的修飾符缺省方式:class沒有修飾符,只能被同一個包名中的類訪問public:能被所有的類訪問abstract:修飾的類被稱為抽象類。抽象類就是沒有具體對象的概念類。
final:不能被繼承,即類不能有子類
類主體<類首聲明>{//類首,以下為類主體<成員變量的聲明><成員方法的聲明及實現>}成員變量即類的數據,反映了類的屬性和狀態。成員方法即類的行為(對數據的操作)成員方法可以是普通方法、構造方法、main方法定義變量的語句,變量用于存放數據。由于數據有相應的類型,所以存放數據的變量也要規定類型。Java程序的基本要素publicclassTriangle{
double
length=10.0;
double
height=5.0;doublearea(){returnlength*height/2.0;}publicstaticvoidmain(Stringargs[]){
double
s;s=(newTriangle()).area();System.out.println(“該三角形的面積是:"+s);}}Java程序的基本要素方法方法用來對數據進行處理,從而實現程序的功能。方法名后面都有括號,括號中可能包括參數。方法的開始和結束也用“{}”來標示。方法中通常包含一個命令序列。java程序是從main方法開始執行的。包括main方法的類叫做主類。publicclassTriangle{doublelength=10.0;doubleheight=5.0;doublearea()
{returnlength*height/2.0;
}publicstaticvoidmain(Stringargs[])
{doubles;s=(newTriangle()).area();System.out.println(“該三角形的面積是:"+s);
}}公共類關鍵字public表明所定義的類是一個公共類一個java文件可以包含多個類,但最多只能包含一個公共類,而且這個公共類必須與其所在的文件同名例如:publicclassJ_HelloJava文件名命名為J_HelloJava.java例:聲明一個學生類publicclassStudent{ Stringname; charxingbie; intstuID;publicStudent(){}publicStudent(StringstuName,charxingbie,intstuID){name=stuName;this.xingbie=xingbie;this.stuID=stuID;
} publicvoidsetName(StringstuName){ name=stuName; } publicvoidsetxingbie(charxingbie){ this.xingbie=xingbie; } publicvoidsetStuID(intstuID){ this.stuID=stuID; }}[<修飾符>][static][final][transient]<變量類型><變量名>static:表示是一個類成員變量(靜態變量);final:表示是一個常量(最終成員變量);例:finaldoublePI=3.1415926;transient:表示一個臨時變量修飾符:表示變量的訪問權限(缺省訪問、public、protected和private)作用域:整個類。
成員變量的聲明格式[<修飾符>]<返回類型><方法名>([<參數列表>])[throws<異常類>]{方法體}修飾符:方法的訪問權限(缺省的、public、protected和private)static:類方法(靜態方法);abstract:抽象方法(無方法體的方法);final:最終方法(不能被子類改變)。throws:表示拋出異常成員方法的聲明格式構造方法類的構造方法是一種特殊方法,作用是在創建對象時Java系統調用構造方法去初始化新建對象的成員變量;例:Students1=newStudent(“張三”,’男’,20080301);如果沒有自定義構造方法,則Java調用類的默認構造方法。Java將使用缺省值來初始化成員變量。例:Students2=newStudent();構造方法的特性類的構造方法名必須和類名相同;構造方法沒有返回值(在構造方法名字前連void也不要加);可以有public,protected,private等任何訪問的修飾詞或沒有修飾。但不能有以下非訪問性質的修飾:abstract,final,native,static或synchronized。對象
我們已經定義了公民(Citizen)類,但它只是從“人”類中抽象出來的模板,要處理一個公民的具體信息,必須按這個模板構造出一個具體的人來,他就是Citizen類的一個實例,也稱作對象。對象創建對象的兩種方式:(1)先聲明對象,然
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年歷史文化遺產保護知識測試試題及答案
- 2025年科學實驗室安全考試試題及答案
- 商務小禮品采購合同協議
- 商業用房購房合同協議
- 和解糾紛協議書范本
- 殘值車輛收購合同協議
- 品牌墻布轉讓合同協議
- 2025原油儲罐清洗服務承包合同
- 商場提點合同協議
- 比賽獎金協議書范本
- 2022集中式電化學儲能電站-施工組織設計方案
- 中國流行音樂 課件-2022-2023學年高中音樂湘教版(2019)必修音樂鑒賞下篇
- 蘋果落地-牛頓的故事課件
- 船舶管路系統專題培訓課件
- 達美樂比薩線上整合營銷規劃方案
- 水泥產品生產許可證實施細則
- 德意志意識形態
- GB/T 14054-1993輻射防護用固定式X、γ輻射劑量率儀、報警裝置和監測儀
- 《馬克思主義發展史》第六章 毛澤東思想是馬克思主義在中國發展的第一個重大成果
- 粵教版地理七年級下冊全冊課件
- 工商企業管理專業模擬實訓報告
評論
0/150
提交評論