第2章標識符和數據類型_第1頁
第2章標識符和數據類型_第2頁
第2章標識符和數據類型_第3頁
第2章標識符和數據類型_第4頁
第2章標識符和數據類型_第5頁
已閱讀5頁,還剩30頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第2章標識符和數據類型本章主要內容

Java的基本語法單位

1Java編碼體例2Java的基本數據類型3復合數據類型

4類和對象的初步介紹

5Java程序的結構

package語句:可以沒有,或可以有多個,但必須放在文件開始的地方

import語句:可以沒有,或可以有多個,如果有import語句的話,必須放在所有類定義之前

public型的類定義:每個文件中最多有一個

類定義:每個文件中包含的類定義的個數沒有限制

接口定義:每個文件中包含的接口定義個數沒有限制Java的基本語法單位空白、注釋及語句空白換行符及回車鍵、空格鍵、水平定位鍵(tab)都是空白。Java程序的元素之間可插入任意數量的空白,編譯器將忽略掉多余的空白程序中除了加入適當的空白外,還應使用縮進格式,使得同一層語句的起始列位置相同不提倡的程序風格一種不好的風格classPoint{intx,y;Point(intx1,inty1){x=x1;y=y1;}Point(){this(0,0);}voidmoveto(intx1,inty1){x=x1;y=y1;}}提倡的程序風格classPoint{intx,y; //點的x軸、y軸坐標Point(intx1,inty1) //構造方法{ x=x1; y=y1;}Point() //構造方法{

this(0,0);}voidmoveto(intx1,inty1) //點移動到(x1,y1){

x=x1; y=y1;}}注釋程序中適當地加入注釋,會增加程序的可讀性

程序中允許加空白的地方就可以寫注釋。注釋不影響程序的執行結果,編譯器將忽略注釋Java中的三種注釋形式://在一行的注釋/*一行或多行的注釋*//**文檔注釋*/語句、分號和塊Java中的語句是最小的執行單位Java各語句間以分號“;”分隔。一個語句可寫在連續的若干行內花括號“{”和“}”包含的一系列語句稱為語句塊,簡稱為塊語句塊可以嵌套即語句塊中可以含有子語句塊。在詞法上,塊被當作一個語句看待

Java關鍵字abstractbooleanbreakbytecasecatchcharclassconstcontinuedodoubleelseextendsfalsefinallycastdefaultfinalfinallyfloatforfuturegenericgotoifimplementsimportinnerinstanceofintinterfacelongnativenewnulloperatorouterpackageprivateprotectedpublicrestreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransienttruetryvarvoidvolatilewhile標識符標識符是以字母、下劃線(_)或美元符($)開頭,由字母、數字、下劃線(_)或美元符($)組成的字符串標識符區分大小寫,長度沒有限制

標識符例合法的標識符非法標識符2Sun //以數字2開頭class //是Java的關鍵字,有特殊含義#myname //含有其他符號#IdentifierusernameUser_name_sys_var1$change sizeofJava編碼體制Java中的一些命名約定:類類名應為名詞,含有大小寫,每個字的首字母大寫接口接口是一種特殊的類,接口名的命名約定與類名相同方法 方法名應是動詞,含有大小寫,首字母小寫,其余各字的首字母大寫,盡量不要在方法名中使用下劃線常量 簡單類型常量的名字應該全部為大寫字母,字與字之間用下劃線分隔,對象常量可使用混合大小寫變量所有的實例變量、類變量和全局變量都使用混合大小寫,首字符為小寫,后面的字首用大寫,作為字間的分隔符。變量名中不要使用下劃線Java的基本數據類型基本數據類型數據類型基本數據類型復合數據類型類類型布爾類型:boolean數組接口類型:interface字符類型:char數值類型浮點數類型:float,double整數類型:byte,short,int,long類型轉換各類型所占用的位數從短到長依次為: byteshortcharintlongfloatdouble不同類型數據的轉換規則操作數1類型操作數2類型轉換后的類型byte或shortintintbyte或short或intlonglongbyte或short或int或longfloatfloatbyte或short或int或long或floatdoubledoublecharintint類型轉換當位數多的類型向位數少的類型進行轉換時,需要用戶明確指明,即進行強制類型轉換一般地,高級類型(即位數較多的數據類型)轉為低級類型(即位數較少的數據類型)時,截斷高位內容,因此會導致精度下降或數據溢出inti=3;byteb=(byte)i;變量、說明和賦值程序2-2變量的說明和賦值程序2-3為每種基本類型定義了一個變量,并為其賦值復合數據類型早期的程序設計語言把變量看作是孤立的東西如果我們在一個程序中需處理日期,則往往說明三個獨立的整數分別代表日、月、年。如下所示: intday,month,year;

復合數據類型這種方法的不足:如果程序需要處理多個日期,則需要更多的說明。例如要保存兩個生日,需如下說明:因使用了多個變量而變得混亂,容易出錯。同時,又占用了過多的命名空間。更重要的是每個值都是獨立的變量

intmyBirthDay,myBirthMonth,myBirthYear;intyourBirthday,yourBirthMonth,yourBirthYear;復合數據類型有兩種辦法來解決這個問題:

提供日期類型。并為這個類型定義了相應的函數,通過調用這些函數就可以得到所需要的結果定義復合數據類型。復合數據類型為我們提供了更強大的類型定義工具,設計程序時也更加靈活復合數據類型定義:用戶定義的新類型為復合數據類型在有些語言中,復合數據類型又稱作結構類型或記錄類型。復合數據類型由程序員在源程序中定義,一旦有了定義,該類型就象其他類型一樣使用復合數據類型

對于新定義的復合數據類型,因系統不知道它的具體內容,要由程序員指定其詳細的存儲結構,這里存儲空間的大小不是以字節來衡量,也不是位,而是按已知的其他類型來考慮Java是面向對象的程序設計語言,它為用戶提供的復合數據類型就是我們在前面提到的復合數據類型,即類、接口和數組類和對象的初步介紹為什么使用面向對象技術面向過程的設計方式使用的眾多變量名、函數名互不約束,令程序員不堪重負面向過程方法設計的程序把處理的主體與處理的方法分開,因此各種成分錯綜復雜地放在一起,難以理解,易出錯,并且難于調試

為什么使用面向對象隨著開發系統的不斷擴大,面向過程的方法越來越不能滿足使用者的要求OOP技術使得程序結構簡單,相互協作容易,更重要的是程序的重用性大大提高了面向對象的方法學,就是使分析、設計和實現一個系統的方法盡可能地接近我們認識一個系統的方法面向對象技術主要包含這樣幾個概念:對象、抽象數據類型、類、類型層次(子類)、繼承性、多態性為什么使用面向對象面向對象的方法學包括以下三方面:面向對象的分析(OOA,Object-OrientedAnalysis)面向對象的設計(OOD,Object-OrientedDesign)面向對象的程序設計(OOP,Object-OrientedProgram)

什么是OOPOOP技術把問題看成是相互作用的事物的集合,用屬性來描述事物,而把對它的操作定義為方法。在OOP中,把事物稱為對象,把屬性稱為數據,這樣對象就是數據加方法??梢詫F實生活中的對象經過抽象,映射為程序中的對象。對象在程序中是通過一種抽象數據類型來描述的,這種抽象數據類型稱為類(Class)OOP中采用了三大技術:封裝、繼承和多態

Java

OOP能力Java與C++的OOP能力比較C++多重繼承Java接口、包、final、super類、公有、私有、保護成員、靜態成員、構造函數、析構函數、虛函數、虛基類、this共有的部分C++獨特的Java獨特的Java中的類定義Java中類定義的一般格式為:修飾符class

類名[extends

父類名]{

類型成員變量1;

類型成員變量2;......

修飾符類型成員方法1(參數列表){

類型局部變量;

方法體

}

修飾符類型成員方法2(參數列表){

類型局部變量;

方法體

}......}一輛轎車的類定義ClassCar{ intcolor_number; intdoor_number; intspeed; voidbrake(){…} voidspeedUp(){…} voidslowDown(){…}}類定義的幾點說明Java中的類定義與實現是放在一起保存的,整個類必須在一個文件中,因此有時源文件會很大Java源文件名必須根據文件中的公有類名來定義,并且要區分大小寫類定義中可以指明父類,也可以不指明。若沒有指明從哪個類派生而來,則表明是從缺省的父類Object派生而來。Object是Java中所有類的父類。Java中除Object之外的所有類均有一個且只有一個父類。Object是唯一沒有父類的類class定義的大括號之后沒有分隔符“;”與OOP有關的關鍵字限定訪問權限的修飾符public、private、protected類型無修飾符privateprotectedpublic同一類是是是是同一包中的子類是否是是同一包中的非子類是否是是不同包中的子類否否是是不同包中的非子類否否否是與OOP有關的關鍵字存儲方式修飾符static:既可修飾數據成員,又可以修飾成員方法與繼承有關的關鍵字final:用final修飾的類不能再派生子類,它已到達類層次中的最低層。abstract:用abstract可以修飾類或成員

溫馨提示

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

評論

0/150

提交評論