java编程语言基础外文,Java编程语言基础.ppt
Java編程語言基礎(chǔ).ppt
第2章Java編程語言基礎(chǔ) 學(xué)習(xí)目標(biāo) 1 熟練掌握Java數(shù)據(jù)類型 常量及變量 運算符 2 熟練掌握數(shù)組 3 熟練掌握Java的面向?qū)ο蟾拍罴皯?yīng)用 4 能夠應(yīng)用面向?qū)ο蟪绦蛟O(shè)計方法按照現(xiàn)實世界的特點 把復(fù)雜的事物抽象為對象 2 1Java概述 Java語言是一個簡單的 面向?qū)ο蟮?分布的 易于解釋的 健壯的 安全的 與平臺無關(guān)的 可移植的 高性能的 多線程的 動態(tài)的計算機程序設(shè)計語言 2 2Java數(shù)據(jù)類型 常量及變量 2 2 1基本數(shù)據(jù)類型Java的基本數(shù)據(jù)類型包括整型 byte short int long 字符型 char 布爾型 boolean 和浮點型 float double 2 2 2常量及變量1 常量常量是指在程序運行過程中其值不會發(fā)生變化的量 Java中常用的常量有整型常量 字符常量 字符串常量 布爾常量及浮點常量 假如在程序中經(jīng)常使用某一個符號常量 如圓周率等 可使用final關(guān)鍵字聲明符號常量 語法格式如下 final 例如 finalfloatPI 3 1415926f 2 變量1 聲明變量Java中的變量在使用之前需要聲明變量的類型 變量聲明通常包括兩部分 變量類型及變量名 語法格式如下 變量類型變量名 2 變量初始化方法中聲明的變量在使用前必須先初始化 否則編譯時將發(fā)生錯誤 例如 intabc 10 3 使用變量 例2 1 Java中變量的使用示例 importjava io publicclassChapters2 1 publicstaticvoidmain String args inta1 100 聲明整型變量doublea2 34 56 聲明雙精度浮點型變量chara3 y 聲明字符型變量System out println a1的值為 a1 輸出System out println a2的值為 a2 System out println a3的數(shù)據(jù)為 a3 Chapters2 1 java代碼如下 2 3運算符 2 3 1算術(shù)運算符算術(shù)運算符 如表2 2所示 用來執(zhí)行算術(shù)運算 表2 2算術(shù)運算符 2 3 2比較運算符比較運算符又稱為關(guān)系運算符 如表2 3所示 用來比較運算符兩邊的變量或常量 返回的值為True或Flase 表2 3比較運算符 2 3 3邏輯運算符邏輯運算符 如表2 4所示 用于判斷某個表達式的值是True還是False 表2 4邏輯運算符 2 3 4位運算符 位運算符 如表2 5所示 是對二進制位進行操作 表2 5位運算符 例2 3 Java中位運算符的使用示例 Chapters2 3 java代碼如下 classChapters2 3 publicstaticvoidmain String args inta 14 intb 5 System out println a 2 3 5其他運算符 除前面介紹的運算符外 Java還包含一些其他的運算符 如表2 6所示 表2 6其他運算符 2 3 6表達式及運算符的優(yōu)先級 1 表達式表達式是由常量 變量或其他操作數(shù)與運算符所組成的 表達式用來執(zhí)行程序中的數(shù)據(jù)運算 并返回運算結(jié)果 Java還有一些將算術(shù)運算符與賦值運算符結(jié)合而成的新運算符 如表2 7所示 表2 7將算術(shù)運算符與賦值運算符結(jié)合而成的新運算符 2 運算符的優(yōu)先級 表2 8運算符的優(yōu)先級 2 4注釋 注釋能夠使人們更好地理解代碼 注釋對程序本身沒有任何意義 在Java程序中 可以使用單行注釋及多行注釋 單行注釋使用 多行注釋使用 和 在 與 之間能夠有任意多行的注釋說明 2 5流程控制 2 5 1條件語句若要根據(jù)判斷的結(jié)果來執(zhí)行不同的語句時 條件語句if是一個很好的選擇 if語句的基本格式如下 if 條件表達式 語句塊1 else 語句塊2 例2 5 聲明一個整數(shù)a 為其賦初值9 在程序中判斷a是奇數(shù)還是偶數(shù) 并將判斷的結(jié)果輸出 Chapters2 5 java代碼如下 classChapters2 5 publicstaticvoidmain String args inta 9 if a 2 1 System out println a 是一個奇數(shù) elseSystem out println a 是一個偶數(shù) 2 5 2循環(huán)語句 循環(huán)結(jié)構(gòu)是在一定條件下反復(fù)執(zhí)行某程序段的流程結(jié)構(gòu) 被反復(fù)執(zhí)行的程序段稱為循環(huán)體 Java中共有三種循環(huán)語句 for while和do while 1 for循環(huán)語法格式如下 for 初始化表達式 判斷條件 賦值增減量 循環(huán)體 初始化表達式 只在循環(huán)開始時執(zhí)行一次 判斷條件 決定循環(huán)執(zhí)行的條件 每次循環(huán)開始時對其進行判斷 當(dāng) 判斷條件 為true時 執(zhí)行循環(huán) 否則 循環(huán)結(jié)束 而 賦值增減量 是在每次循環(huán)結(jié)束時用以改變 判斷條件 中變量的值 結(jié)果返回給 判斷條件 如果 判斷條件 為false 退出循環(huán) 否則 繼續(xù)執(zhí)行語句塊 例2 6 使用for循環(huán)計算1 2 3 4 100的和 Chapters2 6 java代碼如下 classChapters2 6 publicstaticvoidmain String args inta sum 0 for a 1 a 100 a sum a 計算sum sum a System out println 1 2 3 100 sum 將結(jié)果輸出 2 while語句若條件表達式的結(jié)果為true時 執(zhí)行while循環(huán)中的語句 否則執(zhí)行while后面的語句 語法格式如下 while 條件表達式 循環(huán)體 classChapters2 7 publicstaticvoidmain String args inta 1 sum 0 while a 100 sum a 計算sum sum aa 改變循環(huán)變量 System out println 1 2 3 100 sum 將結(jié)果輸出 例2 7 使用while語句計算1 2 3 4 100的和 Chapters2 7 java代碼如下 3 do while語句Do while語句與while語句相似 不同的是while語句是先計算條件表達式的值 而do while語句則是無條件地先執(zhí)行一遍循環(huán)體 再對條件表達式進行判斷 如果表達式的值為true 則運行循環(huán)體 否則跳出do while循環(huán) 語法格式如下 do 循環(huán)體 while 條件表達式 例2 8 使用do while語句計算1 2 3 4 100的和 Chapters2 8 java代碼如下 classChapters2 8 publicstaticvoidmain String args inta 1 sum 0 do sum a a while a 100 System out println 1 2 3 100 sum 將結(jié)果輸出 2 5 3跳轉(zhuǎn)語句1 continue語句使用continue語句能夠越過當(dāng)前循環(huán)體中該語句后面的其他語句 轉(zhuǎn)至循環(huán)開始 并繼續(xù)判斷條件表達式的值 以決定是否繼續(xù)循環(huán) classChapters2 9 publicstaticvoidmain String args inti intsum 0 for i 1 i 100 i if i 2 0 判斷i 2是否為0continue sum sum i System out println 2 4 6 100 sum 輸出最后結(jié)果 例2 9 使用continue語句計算2 4 6 100的和 Chapters2 9 java代碼如下 2 break語句在循環(huán)語句中 break語句用于跳出當(dāng)前循環(huán)體 并繼續(xù)執(zhí)行循環(huán)后面的語句 classChapters2 10 publicstaticvoidmain String args intx Integer parseInt args 0 intsum 1 設(shè)置積的初值為1for inti 1 i x i 設(shè)置索引i的初值為1 條件為i x 增量為1 sum i if i 5 break 若i 5則跳至下一步驟 System out println x x sum sum 將結(jié)果輸出 例2 10 從命令行中輸入一個整數(shù)x 若x小于等于5則計算1 2 n的值 否則僅計算至5 Chapters2 10 java代碼如下 2 6數(shù)組 數(shù)組是數(shù)據(jù)的有序集合 數(shù)組中的各個元素具有相同的數(shù)組名 數(shù)組名及下標(biāo)用來唯一地確定數(shù)組中的元素 在使用前 必須要聲明數(shù)據(jù)類型及分配存儲空間 1 一維數(shù)組1 一維數(shù)組的定義一維數(shù)組的定義方式有兩種 數(shù)組的數(shù)據(jù)類型數(shù)組名 數(shù)組的數(shù)據(jù)類型 數(shù)組名 2 一維數(shù)組的存儲空間的分配定義了一個數(shù)組后 使用new運算符為數(shù)組分配內(nèi)存空間 語法格式如下 數(shù)組名 new數(shù)組的數(shù)據(jù)類型 數(shù)組長度 例如 為包含4個元素的整型數(shù)組firstArray分配內(nèi)存空間 firstArray newint 4 通常 數(shù)組的聲明與存儲空間的分配這兩部分能夠合并在一起 語法格式如下 數(shù)組的數(shù)據(jù)類型數(shù)組名 new數(shù)組的數(shù)據(jù)類型 數(shù)組長度 例如 intfirstArray newint 4 3 一維數(shù)組元素的引用聲明數(shù)組并使用運算符new為數(shù)組分配完內(nèi)存空間后 即可引用數(shù)組中的每一個元素 數(shù)組元素的引用方式如下 數(shù)組名 數(shù)組下標(biāo) 例2 11 數(shù)組的應(yīng)用實例 Chapters2 11 java代碼如下 classChapters2 11 publicstaticvoidmain String args intx intfirstArray newint 4 for x 0 x 0 x System out println firstArray x firstArray x 4 一維數(shù)組的初始化數(shù)組元素不僅可以按照上述方式進行賦值 并且可以在定義數(shù)組的同時進行初始化 例如 intfirstArray 101 102 103 104 105 106 使用逗號 分隔數(shù)組中的元素 系統(tǒng)自動為數(shù)組分配一定的空間 例2 12 整數(shù)數(shù)組x有五個元素 其值分別為10 20 33 45 56 設(shè)計一個程序求該數(shù)組的和及平均值 Chapters2 12 java代碼如下 classChapters2 12 publicstaticvoidmain String args intx 10 20 33 45 56 doubleavg x 0 0 sum x 0 0 for inti 0 i x length i sum x sum x x i avg x sum x x length System out println 和為 long sum x n平均數(shù)為 avg x 2 二維數(shù)組Java中的多維數(shù)組被看做是數(shù)組的數(shù)組 例如 二維數(shù)組為一個特殊的一維數(shù)組 其每個元素又是一個一維數(shù)組 下面 以二維數(shù)組為例來進行說明 1 二維數(shù)組的定義二維數(shù)組的定義方式為 數(shù)組的數(shù)據(jù)類型數(shù)組名 2 二維數(shù)組的存儲空間的分配二維數(shù)組定義完成后 使用new運算符為數(shù)組分配內(nèi)存空間 其語法格式如下 數(shù)組名 new數(shù)組的數(shù)據(jù)類型 行的個數(shù) 列的個數(shù) 數(shù)組的聲明與存儲空間的分配合并在一起的其語法格式如下 數(shù)組的數(shù)據(jù)類型數(shù)組名 new數(shù)據(jù)類型 行的個數(shù) 列的個數(shù) 3 二維數(shù)組的引用二維數(shù)組中各元素的引用方式為 數(shù)組名 index1 index2 其中 index1 index2為數(shù)組下標(biāo) 可以是整型常數(shù)或表達式 如x 1 2 等 同樣 每一維的下標(biāo)均從0開始 4 二維數(shù)組的初始化二維數(shù)組的初始化有兩種方式 分別為 直接對各個元素進行賦值 在定義數(shù)組的同時進行初始化 例如 intx 1 2 3 4 5 6 定義一個2 3的數(shù)組 同時對數(shù)組初始化 例2 13 設(shè)x y z均為2行2列的矩陣 已知x y 求z x y Chapters2 13 java代碼如下 classChapters2 13 publicstaticvoidmain String args doublex 1 2 3 4 doubley 10 11 12 13 doublez x for inti 0 i 2 i for intj 0 j x i length j z i j x i j y i j System out print z i j System out println 2 7面向?qū)ο蟾拍?2 7 1類的創(chuàng)建 Java中的類由類的聲明與類體二部分構(gòu)成 類中定義的成員變量和方法的數(shù)量不受限制 1 類的聲明類的聲明定義的格式如下 修飾符 class類名 extends父類名 implements接口名 接口名 類體 2 類體類體中定義了類的成員變量 屬性 和成員函數(shù) 方法 例2 14 定義一個學(xué)生類 包括三個成員變量 學(xué)號sNo 姓名sName及專業(yè)sMajors 及二個成員函數(shù) Accept 用于接收學(xué)生信息 為成員變量賦值 Display 用于顯示學(xué)生信息 顯示成員變量的數(shù)據(jù) Student java代碼如下 importjava io classStudent 聲明一個類Student 聲明私有成員變量privateStringsNo privateStringsName privateStringsMajors 聲明公有成員函數(shù)publicvoidAccept 定義Accept函數(shù) try BufferedReaderinObj newBufferedReader newInputStreamReader System in System out println 請輸入學(xué)生學(xué)號 sNo inObj readLine System out println 請輸入學(xué)生姓名 sName inObj readLine System out println 請輸入學(xué)生專業(yè) sMajors inObj readLine catch IOExceptioner System out println er publicvoidDisplay 定義Display函數(shù) System out println 學(xué)號為 sNo System out println 姓名為 sName System out println 專業(yè)為 sMajors 2 7 2成員變量 成員變量 又稱為屬性 域 描述了類及對象的狀態(tài) 實例2 14中有三個成員變量 sNo 表示學(xué)生學(xué)號 sName 表示學(xué)生姓名 sMajors 表示專業(yè) 其類型均為String 成員變量的定義方法為 修飾符 類型名稱成員變量 初值 變量名 初值 例如 intsResults 2 7 3方法方法是類的動態(tài)屬性 標(biāo)志了類所具有的功能及操作 用于將類和對象的數(shù)據(jù)封裝在一起 1 方法的聲明方法的聲明格式如下 修飾符 返回值類型方法名稱 參數(shù)表 方法體 其中 參數(shù)表的形式如下 參數(shù)類型參數(shù)名1 參數(shù)類型參數(shù)名2 例2 15 方法isSmallStudent用于判斷學(xué)生的年齡是否比某個值 csAge 大 csAge是參數(shù) 返回值為boolean類型 代碼如下 booleanisSmallStudent intcsAge booleansFlag if sAge csAge sFlag true elsesFlag false retrunsFlag 2 構(gòu)造方法構(gòu)造方法 也稱為構(gòu)造函數(shù) 是一種特殊類型的方法 與類同名 用于創(chuàng)建對象 完成初始化工作 例2 16 構(gòu)造方法的應(yīng)用 CCircle java代碼如下 classCCircle 定義CCircle類 doublepi 3 14159 doubleradius 定義構(gòu)造方法 主要是把radius成員賦值為bj 即構(gòu)造方法所接收的參數(shù) 構(gòu)造方法沒有返回值 雖然沒有返回值 但定義構(gòu)造函數(shù)時不能加上void 否則編譯時將出錯 publicCCircle doublebj radius bj publicvoidshow System out println 半徑為 radius 周長為 2 pi radius 面積為 pi radius radius publicstaticvoidmain String args CCirclecircle1 newCCircle 3 5 circle1 show 2 7 4對象1 創(chuàng)建對象以圓形類來說 從定義類到創(chuàng)建新的對象 可以將其看為 先打造一個圓形的模版 即定義類 再用此模版制造圓 即創(chuàng)建對象 可通過以下步驟創(chuàng)建對象 1 聲明指向 由類所創(chuàng)建的對象 的變量 2 對象的實例化 返回對此對象的一個引用 用new能夠為一個類實例化多個不同的對象 各對象分別占用不同的內(nèi)存空間 所以改變其中一個對象的狀態(tài)不會影響其他對象 3 執(zhí)行構(gòu)造函數(shù) 進行初始化 可以對構(gòu)造函數(shù)進行重寫 因此 通過給出不同類型或數(shù)量的參數(shù)能調(diào)用不同的構(gòu)造函數(shù) 例2 17 創(chuàng)建圓形類的對象CCirclecircle1 聲明指向?qū)ο蟮淖兞縞ircle1Circle1 newCCircle 使用new創(chuàng)建新的對象也可將上面的兩個步驟改寫為 CCirclecircle1 newCCircle 聲明并創(chuàng)建新的對象 2 對象成員變量的引用可通過以下語法格式訪問對象的某個成員變量 對象名稱 成員變量名例如 對象circle1的半徑可通過下列語句來指定 circle1 radius 圓對象circle1的半徑 3 對象方法的調(diào)用對象的行為是通過方法表現(xiàn)出來的 對象方法的調(diào)用格式如下 對象名稱 方法名稱 例2 18 計算圓的面積與周長 CCircle01 java代碼如下 classCCircle01 定義CCircle01類 privatedoublepi 3 14159 privatedoubleradius publicCCircle01 doublebj 定義構(gòu)造方法 radius bj doubleArea show 定義方法Area show 用于計算面積 returnpi radius radius doublePerimeter show 定義方法Perimeter show 用于計算周長 return2 pi radius publicstaticvoidmain String args CCircle01circle1 newCCircle01 3 5 創(chuàng)建新的對象 并為其賦值System out println 圓的面積為 circle1 Area show 調(diào)用成員方法System out println 圓的周長為 circle1 Perimeter show 2 7 5繼承繼承是面向?qū)ο蟮闹匾匦?繼承能夠以現(xiàn)有的類為基礎(chǔ) 進而派生出新的類 通過該方式 能快速的開發(fā)新的類 而不需要編寫相同程序的代碼 在Java中使用關(guān)鍵字extends繼承一個父類 或稱超類 例2 19 設(shè)計一個硬幣類CCoins 能夠用來創(chuàng)建各種不同半徑及不同面值的硬幣 已知在圓形類 CCircle類中已包含了radius pi成員與setRadius show 等方法 在創(chuàng)建硬幣類時 通過繼承的方式來利用這些數(shù)據(jù)成員及方法 classCCircle 定義類CCircle doublepi 3 14 doubleradius publicCCircle 定義CCircle構(gòu)造方法 System out println 調(diào)用CCircle 構(gòu)造方法 publicvoidsetRadius doublenewr radius newr System out println 圓的半徑為 radius publicvoidshow System out println 圓的面積為 pi radius radius 定義硬幣類CCions 子類 該類繼承自圓形類CCircle 父類 classCCoinsextendsCCircle privateintPayValue publicCCoins CCoins 構(gòu)造方法 System out println 調(diào)用CCoins 構(gòu)造方法 publicvoidsetValue intnewPV PayValue newPV System out println 面值為 PayValue publicclassChapters2 19 publicstaticvoidmain String args CCoinscoin1 newCCoins 創(chuàng)建CCoins對象coin1 setRadius 1 8 調(diào)用父類的setRadius 方法coin1 show 調(diào)用父類的show 方法coin1 setValue 1 調(diào)用子類的setValue 方法 2 7 6多態(tài) 在面向?qū)ο蟪绦蛟O(shè)計中 當(dāng)程序要實現(xiàn)多個相似的功能時 給相應(yīng)的方法命名相同的名字 用不同的參數(shù)代表不同的功能 在使用方法時 無論傳遞哪種參數(shù) 只要能被程序識別 就能夠得到相應(yīng)的結(jié)果 Java通過覆蓋及重載來實現(xiàn)多態(tài) 重載 是指在相同類內(nèi) 定義名稱相同 而參數(shù)個數(shù)或類型不同的方法 Java能夠依據(jù)參數(shù)的個數(shù)或類型 調(diào)用對應(yīng)的方法 覆蓋 是指在子類當(dāng)中 定義名稱 參數(shù)個數(shù)與類型都與父類相同的方法 用來改寫父類中的方法 例2 20 重載的應(yīng)用 為了繪制出不同的形狀 使用給出相應(yīng)參數(shù)的draw 方法 如圖2 14所示 圖2 14重載的應(yīng)用 classShapeDraw doubler protectedstaticdoublepi 3 14 intweight inthight doubleHemline publicShapeDraw doubler1 r r1 System out println 這是圓形 圓形的面積為 2 pi r publicShapeDraw intx inty weight x hight y System out println 這是矩形 面積為 weight hight publicShapeDraw doubledi intgao Hemline di hight gao System out println 這是三角形 面積為 Hemline hight 2 publicclassChapters2 20 publicstaticvoidmain String args ShapeDrawsd1 newShapeDraw 3 2 10 調(diào)用繪制三角形的ShapeDraw方法ShapeDrawsd2 newShapeDraw 3 2 調(diào)用繪制圓的ShapeDraw方法ShapeDrawsd3 newShapeDraw 5 10 調(diào)用繪制矩形的ShapeDraw方法 例2 21 覆蓋的應(yīng)用 在父類CCircle中定義一個不帶參數(shù)的displayResult 方法 并且在子類CCoins中也定義一個不帶參數(shù)的displayResult 方法 父類及子類均有相同名稱 并且都不帶參數(shù)的方法 利用CCoins子類聲明的對象調(diào)用displayResult 方法 觀察是父類的displayResult 方法被調(diào)用 還是子類displayResult 方法被調(diào)用 Chapters2 21 java代碼如下 classCCircle protecteddoubler protectedstaticdoublepi 3 14 publicCCircle doubler1 r r1 publicvoiddisplayResult 父類中的displayResult 方法 System out println 父類中的r r classCCoinsextendsCCircle 子類CCoins privateintvalue publicCCoins doubler1 intv super r1 value v publicvoiddisplayResult 子類中的displayResult 方法 System out println 子類中的r r value value publicclassChapters2 21 publicstaticvoidmain String args CCoinscoin1 newCCoins 3 2 10 coin1 displayResult 本章小結(jié) Java數(shù)據(jù)類型 常量及變量的定義和使用 Java的運算符有算術(shù)運算符 比較運算符 邏輯運算符 位運算符及其他運算符等 Java的流程控制有條件語句 循環(huán)語句及跳轉(zhuǎn)語句 數(shù)組是數(shù)據(jù)的有序集合 數(shù)組中的每個元素具有相同的數(shù)組名 Java作為面向?qū)ο蟪绦蛟O(shè)計語言 在程序設(shè)計中涉及對象 類 方法 成員變量的定義及使用 寫出程序的運行結(jié)果 1 importjava io publicclassxt1 publicstaticvoidmain String args intx1 66 doublex2 14 78 charx3 a System out println x1的值為 x1 System out println x2的值為 x2 System out println x3的數(shù)據(jù)為 x3 習(xí)題 2 classxt2 publicstaticvoidmain String args intx 50 inty 6 System out println x y x y System out println x y x y System out println x y x y System out println x y x y System out println x y x y System out println x x System out println x x 3 classxt3 publicstaticvoidmain String args doublex 33 44 55 66 doubley 12 14 15 16 doublez x for inti 0 i 2 i for intj 0 j x i length j z i j x i j y i j System out print z i j System out println 4 classXt4 privatedoublepi 3 14 privatedoubleradius publicXt4 doublebj doublegao radius bj vhight gao doubleZtV show returnpi radius radius vhight doubleYztV show returnpi radius radius vhight 3 publicstaticvoidmain String args Xt4wt newXt4 2 2 創(chuàng)建新的對象 并為其賦值System out println 圓柱體的體積為 wt ZtV show System out println 圓錐體的體積為 wt YztV show THEEND
總結(jié)
以上是生活随笔為你收集整理的java编程语言基础外文,Java编程语言基础.ppt的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 老板说java后台管理系统3天内必须上线
- 下一篇: vs2017 pdo mysql_在VS