第4講 Java入門_第1頁
第4講 Java入門_第2頁
第4講 Java入門_第3頁
第4講 Java入門_第4頁
第4講 Java入門_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、智能手機(jī)應(yīng)用程序設(shè)計(jì)智能手機(jī)應(yīng)用程序設(shè)計(jì)吳以凡吳以凡計(jì)算機(jī)學(xué)院計(jì)算機(jī)學(xué)院 一教一教Smartphone Application Design第第4講講 Java入門入門語言要素語言要素語言要素n 語言要素包括注釋、標(biāo)識(shí)符、分隔符以及關(guān)鍵字等四個(gè)部分:q注釋用于提高程序可讀性q標(biāo)識(shí)符是指常量、 變量、函數(shù)、類和對(duì)象的名稱,不同的語言有不同的標(biāo)識(shí)符命名規(guī)則q分隔符用于區(qū)分程序中的基本元素,可分為n注釋n空白符n普通分隔符q關(guān)鍵字也被稱為保留字,它是程序設(shè)計(jì)語言預(yù)先定義的、有特殊意義的標(biāo)識(shí)符注釋n 程序設(shè)計(jì)者與程序閱讀者(包括程序設(shè)計(jì)者自己)之間通信的重要手段n 注釋可以改善源程序代碼的可讀性,使得

2、程序條理清晰。n 良好的注釋風(fēng)格和習(xí)慣是“優(yōu)質(zhì)”程序或者程序員必須具備的要素。n 注釋分為三種類型:q單行(single-line)注釋q塊(block)注釋q文檔注釋注釋n 單行(single-line)注釋n 塊(block)注釋q一般位于一個(gè)文件或一個(gè)方法前/ 注釋內(nèi)容/* 注釋內(nèi)容 */* * 注釋內(nèi)容1 * 注釋內(nèi)容2 */Java文檔注釋(Javadoc)n Java文檔注釋(Javadoc)qAPI信息:參數(shù)個(gè)數(shù)、意義、類型等qJavadoc從源代碼中抽取類、方法等注釋q輸出HTMLn 使用方法q以/*為開始符而以*/為結(jié)束符q注釋文檔由描述塊、塊標(biāo)記組成q塊標(biāo)記以開頭、后面緊跟

3、Javadoc標(biāo)簽/* 該方法用于打印字符串 * author Ellen * version 1.2 * param String 要打印的字符串 * return 沒有返回值 */* http:/ 變量、類、對(duì)象和方法等元素的名字n 標(biāo)識(shí)符應(yīng)當(dāng)在某種程度上反映所命名元素(變量、類、對(duì)象和方法)的實(shí)際意義n 合適的標(biāo)識(shí)符加上良好的注釋風(fēng)格是提高程序可讀性的必備要素n 大小寫敏感n 不能使用關(guān)鍵字標(biāo)識(shí)符命名n 變量:首字母小寫且使用名詞,其后用大寫字母分隔每個(gè)單詞q例:myAgeFromDB, myBirthdayFromDBn 方法:使用動(dòng)詞且首字母小寫,其后用大寫字母分隔每個(gè)單詞。q例:g

4、etAgeFromDB、getBirthdayFromDBn 常量:一般全部大寫,單詞之間用下劃線分隔。q例:DEFAULT_AGEn 類和接口:使用名詞,且每個(gè)單詞首字母要大寫q例:Person、Car分隔符n 在語句、變量,類和成員、對(duì)象和成員和程序之間起著分割作用的符號(hào)。有5種分割符:q圓點(diǎn)(“.”):分割類和成員以及對(duì)象和成員n類名.靜態(tài)成員名n對(duì)象名.成員名q分號(hào)(“;”):語句結(jié)束的標(biāo)記或者for循環(huán)中分隔不同的成分 q逗號(hào)(“,”):分割多個(gè)變量、形參以及實(shí)參q空格(“ ”):用于分隔源代碼中不同的部分 q花括號(hào)(“”及“”):用于限定某一部分的范圍,一定成對(duì)使用 關(guān)鍵字n 一種

5、具有特殊意義的標(biāo)識(shí)符,也被稱為保留字n 在語言里預(yù)先定義的,不能作為變量名、類名、對(duì)象名以及方法名n 被用來做訪問控制、修飾符、邏輯控制、錯(cuò)誤處理、包處理等。例如:q條件語句的if elseq數(shù)據(jù)類型 int floatq循環(huán) for while數(shù)據(jù)類型數(shù)據(jù)類型基本數(shù)據(jù)類型n 整數(shù):byte, short, int, longn 字符:charqUnicoden 浮點(diǎn):float, doublen 布爾值:boolqtrue, false引用數(shù)據(jù)類型n 類:classn 接口:interfacen 數(shù)組:, ArrayList, Vector運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式運(yùn)算符n 運(yùn)算符分為運(yùn)算

6、符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、位運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符及條件運(yùn)算符等。n 運(yùn)算符的四個(gè)要素:q操作數(shù)目q優(yōu)先級(jí)q結(jié)合性q操作類型運(yùn)算符n 賦值運(yùn)算符的符號(hào)是 “=”q賦值運(yùn)算是將一個(gè)表達(dá)式的值賦給一個(gè)左值q賦值時(shí)必須要求左值和右值的類型一致,如果類型不匹配時(shí)需要能自動(dòng)轉(zhuǎn)換為對(duì)應(yīng)的類型 n 算術(shù)運(yùn)算符分為一元運(yùn)算符和二元運(yùn)算符兩種q一元運(yùn)算符:正(“+“)、負(fù)(”-“)、自增(”+“)和自減(” -“) q二元運(yùn)算符:加(+)、減()、乘(*)、除()、取余(%)q精準(zhǔn)度:不同類型操作數(shù)會(huì)按精度最高類型自動(dòng)轉(zhuǎn)換n 關(guān)系運(yùn)算符包括大于(“”)、大于等于(“=”)、小于(“”)、小于等于(“=

7、”)、等于(“=”)和不等于(“!=”) q=、!=對(duì)基本類型數(shù)據(jù)是比較值,對(duì)引用類型數(shù)據(jù)是比較句柄運(yùn)算符n 位運(yùn)算符是對(duì)二進(jìn)制數(shù)據(jù)操作的運(yùn)算符q與(“&”)、或(“|”)、非(“”)、異或(“”)n 邏輯運(yùn)算符是邏輯量之間的運(yùn)算q非(“!”)、與(“&”)以及或(“|”)n 其他運(yùn)算符q移位運(yùn)算符: 左移運(yùn)算符(“”)q三目運(yùn)算符: ? : 表達(dá)式和語句n 語句(statement)是標(biāo)識(shí)符的集合,由常量、關(guān)鍵字、變量和表達(dá)式構(gòu)成n 表達(dá)式(expression)由常量、變量、運(yùn)算符組成控制語句控制語句控制語句n 控制語句用于控制程序的流程, 以實(shí)現(xiàn)程序的各種結(jié)構(gòu)方式。n 控

8、制語句分為選擇控制語句、循環(huán)控制語句和轉(zhuǎn)移控制語句三種q選擇控制語句:包括if語句和switch語句。q循環(huán)控制語句:包括for循環(huán)語句、while循環(huán)語句和dowhile循環(huán)語句。q轉(zhuǎn)移控制語句:包括break語句、continue語句和return語句。選擇控制語句n if語句n swtich語句if (expression) statement1;else statement2;swtich (expression) case label1: statement1; break; case label2: statement2; break; . default: statement_n

9、;循環(huán)控制語句n for循環(huán)語句n while循環(huán)語句n 轉(zhuǎn)移控制語句qbreakqcontinueqreturnfor (expression1; expression2; expression3) 循環(huán)體while (expression) 循環(huán)體do 循環(huán)體 (expression)數(shù)組數(shù)組數(shù)組n 數(shù)組是若干變量按照有序的形式組織起來的集合,并且數(shù)組中的變量具有相同的數(shù)據(jù)類型。n 數(shù)組所包含的變量個(gè)數(shù)被稱為數(shù)組長度,按照數(shù)組的長度是否可以動(dòng)態(tài)變化,可將數(shù)組分為動(dòng)態(tài)數(shù)組和靜態(tài)數(shù)組兩種類型。q靜態(tài)數(shù)組數(shù)組長度是固定的,不能動(dòng)態(tài)變化q動(dòng)態(tài)數(shù)組數(shù)組長度是可以按照需要?jiǎng)討B(tài)增加或者減少。靜態(tài)數(shù)組n

10、靜態(tài)數(shù)組是最常用的數(shù)組類型,這種數(shù)組不能按照需要來動(dòng)態(tài)改變數(shù)組長度。有兩種定義靜態(tài)數(shù)組的語法格式:q類型說明符 數(shù)組名 q類型說明符 數(shù)組名 n 類型說明符是任一種基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型;而數(shù)組名是用戶定義的數(shù)組標(biāo)識(shí)符。例如:int myArray = new int4;myArray0 = 1;int aNums = 2, 4, 6 ; float array111; 動(dòng)態(tài)數(shù)組n ArrayList和Vector是比較常用的動(dòng)態(tài)數(shù)組類。n 程序開發(fā)人員可以通過ArrayList或者Vector對(duì)外開放的方法來動(dòng)態(tài)改變數(shù)組的長度。例如:ArrayList arrayList =new Ar

11、rayList();/定義動(dòng)態(tài)數(shù)組 arrayListarrayList.add(a); /向動(dòng)態(tài)數(shù)組arrayList中添加數(shù)據(jù) System.out.println(arrayList.size(); /輸出數(shù)組長度arrayList.add(b); /向動(dòng)態(tài)數(shù)組arrayList中添加數(shù)據(jù)System.out.println(arrayList.size(); /輸出數(shù)組長度String element = (String)arrayList.get(1); /獲取數(shù)組元素arrayList.remove(2); /刪除數(shù)組元素字符串n 字符串是程序語言中表示文本的數(shù)據(jù)類型,一般由若干個(gè)

12、字符組成的有限序列n 通常以字符串的整體作為操作對(duì)象q在字符串中查找某個(gè)子串q求取一個(gè)子串q在串的某個(gè)位置上插入一個(gè)子串q刪除一個(gè)子串等字符串定義n 無論字符串常量或字符串變量,都要先創(chuàng)建對(duì)應(yīng)的String類的實(shí)例對(duì)象才能使用。n 有三種創(chuàng)建字符串實(shí)例對(duì)象的方式,下面使用這三種方式來創(chuàng)建字符串“Hello Android”。q第一種方式:使用new創(chuàng)建字符串實(shí)例對(duì)象。例如:q第二種方式:直接賦值來創(chuàng)建字符串實(shí)例對(duì)象。例如:q第三種方式:可以串聯(lián)(“+”)來創(chuàng)建字符串實(shí)例對(duì)象。例如:String myString = new String(Hello Android);String myStri

13、ng = Hello Android;String myString = Hello + Android;常用的字符串方法n String類提供處理若干個(gè)字符串的方法,幾種常用的String方法:qint length():計(jì)算字符串的長度qchar charAt(int location) :獲取字符串相應(yīng)位置的字符qboolean equals(String str):判斷字符串是否相等,若相等返回true;否則返回falseqboolean equalsIgnoreCase (String str):該方法的功能與equals方法類似,用于判斷字符串是否相等。但equalsIgnoreC

14、ase不對(duì)大小寫敏感qString concat(String str):將str追加到原字符串后面類和對(duì)象類和對(duì)象面向?qū)ο竽P蚽 現(xiàn)實(shí)世界可抽象成:q描述客觀實(shí)體特征的一組屬性q實(shí)現(xiàn)客觀實(shí)體功能的一組方法 n Android是一種面向?qū)ο螅∣bject Oriented)的模型。q所有的操作都是以類和對(duì)象為中心q程序設(shè)計(jì)人員能從現(xiàn)實(shí)世界的角度來分析、設(shè)計(jì)和實(shí)現(xiàn)一個(gè)應(yīng)用程序類n 類是對(duì)現(xiàn)實(shí)世界的客觀實(shí)體的抽象,描述了客觀實(shí)體的共同的屬性和方法。n 類的三個(gè)特征q封裝性q多態(tài)性q繼承性n 聲明一個(gè)類的格式如下所示:n 修飾符qpublic:任何類都能訪問qprotected:只能被自身或子類以及

15、同一個(gè)包下的其他類訪問qprivate:只能被自身訪問q不加修飾符為default:只能被同一個(gè)包中的類訪問修飾符 class類名類主體類public class Computer int computerNO; int coputerUsage; int getComputerNO () return puterNO; void setComputerNO (int computerNO) puterNO = computerNO; void setComputerUsage (int computerUsage) puterUsage = computerUsage; * this關(guān)鍵字標(biāo)

16、識(shí)某個(gè)對(duì)象本身對(duì)象n 對(duì)象是對(duì)類的實(shí)例化,可以把類看成一個(gè)數(shù)據(jù)類型,對(duì)象則是該數(shù)據(jù)類型對(duì)應(yīng)的變量。n 客觀實(shí)體、類以及對(duì)象之間的關(guān)系如下所示:創(chuàng)建對(duì)象n 創(chuàng)建類之后,就可創(chuàng)建該類的實(shí)例即對(duì)象n 有兩種創(chuàng)建對(duì)象的方式q第一種方式:先聲明對(duì)象,再實(shí)例化對(duì)象q第二種方式:在聲明對(duì)象的同時(shí),實(shí)例化對(duì)象 Computer myComputer;/ 聲明對(duì)象myComputer = new Computer();/使用new關(guān)鍵字實(shí)例化對(duì)象Computer myComputer = new Computer();構(gòu)造函數(shù)n 對(duì)象必須只能通過構(gòu)造函數(shù)來創(chuàng)建,沒有其他的創(chuàng)建方式。構(gòu)造函數(shù)(或者構(gòu)造方法)作用是

17、在實(shí)例化對(duì)象時(shí)來初始化對(duì)象中的屬性,n 構(gòu)造函數(shù)具有以下方面的特性:q構(gòu)造方法的方法名必須與類名一致。 q一個(gè)類可以包含多個(gè)構(gòu)造方法q如果在定義類時(shí)沒有定義構(gòu)造方法,則編譯系統(tǒng)會(huì)自動(dòng)在該類中創(chuàng)建一個(gè)無參數(shù)的構(gòu)造方法,并且這個(gè)構(gòu)造方法不執(zhí)行任何代碼。public class Computer Computer(int comoputerNO) puterNO = computerNO; 構(gòu)造函數(shù)n 創(chuàng)建對(duì)象時(shí)調(diào)用構(gòu)造函數(shù)public class Person Person(String name, boolean gender, int age).Person mike = new Person

18、(“Mike”, 1, 19);Person amanda = new Person(“Amanda”, 0, 18); 繼承n 繼承是以已存在的類作為基礎(chǔ)建立新類的機(jī)制,已有的類被稱為父類,而新創(chuàng)建的類被稱為子類。n 繼承機(jī)制使得復(fù)用以前的代碼變得非常容易,因而能大大縮短開發(fā)周期,提高了程序的開發(fā)效率。例:父類:Computer,子類:Laptop,Desktop繼承的實(shí)現(xiàn)n 構(gòu)父類與子類的繼承關(guān)系是通過extends關(guān)鍵字來實(shí)現(xiàn)的,其語法格式為:q其中“訪問權(quán)限”是指public,private,protected等n 下面的語句創(chuàng)建了Computer的子類Laptop:訪問權(quán)限 clas

19、s 子類名 extends 父類名類體定義;public class Laptop extends Computer .成員變量的隱藏和方法的重寫 n 子類可以定義與父類相同的成員變量和方法n 成員變量的隱藏q子類的成員變量隱藏了父類中同名的成員變量n 成員方法的重寫q子類的成員方法的名字、返回類型、參數(shù)個(gè)數(shù)與父類繼承的方法完全相同q通過方法的重寫,改變父類的行為super關(guān)鍵字n 可以通super關(guān)鍵字,使子類訪問父類的成員。super關(guān)鍵字有三種用途:q調(diào)用父類的構(gòu)造方法q調(diào)用父類的成員變量q調(diào)用父類的成員方法super(Args1 args,Argsn args);super.成員變量名

20、super.成員方法名(參數(shù)列表)繼承public class Person public String name; public void work() / dump work public class Student extends Person Override public void work() super.work(); / finish homework 多態(tài)多態(tài)多態(tài)n 同名的不同方法共存的情況n 兩種形式的多態(tài)機(jī)制:q子類的方法與父類方法共存q同一個(gè)類中同名但參數(shù)不同的方法共存,這種多態(tài)也成為重載n多個(gè)同名函數(shù),不同的參數(shù)個(gè)數(shù)/類型n讓類以統(tǒng)一的方式處理不同類型的數(shù)據(jù).void setComputerUsage(int computerUsage) puterUsage = computerUsage;void setComputerUsage(String computerUsage) puterUsage = computerUsage.toInteger(computerUsage);void setComputerUsage(float computerUsage) puterUsage = (int)computerUsage;.其他其他接口n 用于組織對(duì)象的行為,定義多個(gè)不同對(duì)象通用的成員方法n 實(shí)現(xiàn)接口必須實(shí)現(xiàn)接口中定義的所有方法p

溫馨提示

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

評(píng)論

0/150

提交評(píng)論