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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

8、制語句分為選擇控制語句、循環(huán)控制語句和轉移控制語句三種q選擇控制語句:包括if語句和switch語句。q循環(huán)控制語句:包括for循環(huán)語句、while循環(huán)語句和dowhile循環(huán)語句。q轉移控制語句:包括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 轉移控制語句qbreakqcontinueqreturnfor (expression1; expression2; expression3) 循環(huán)體while (expression) 循環(huán)體do 循環(huán)體 (expression)數組數組數組n 數組是若干變量按照有序的形式組織起來的集合,并且數組中的變量具有相同的數據類型。n 數組所包含的變量個數被稱為數組長度,按照數組的長度是否可以動態(tài)變化,可將數組分為動態(tài)數組和靜態(tài)數組兩種類型。q靜態(tài)數組數組長度是固定的,不能動態(tài)變化q動態(tài)數組數組長度是可以按照需要動態(tài)增加或者減少。靜態(tài)數組n

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

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

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

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

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

15、同一個包下的其他類訪問qprivate:只能被自身訪問q不加修飾符為default:只能被同一個包中的類訪問修飾符 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關鍵字標

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

17、在實例化對象時來初始化對象中的屬性,n 構造函數具有以下方面的特性:q構造方法的方法名必須與類名一致。 q一個類可以包含多個構造方法q如果在定義類時沒有定義構造方法,則編譯系統會自動在該類中創(chuàng)建一個無參數的構造方法,并且這個構造方法不執(zhí)行任何代碼。public class Computer Computer(int comoputerNO) puterNO = computerNO; 構造函數n 創(chuàng)建對象時調用構造函數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 繼承是以已存在的類作為基礎建立新類的機制,已有的類被稱為父類,而新創(chuàng)建的類被稱為子類。n 繼承機制使得復用以前的代碼變得非常容易,因而能大大縮短開發(fā)周期,提高了程序的開發(fā)效率。例:父類:Computer,子類:Laptop,Desktop繼承的實現n 構父類與子類的繼承關系是通過extends關鍵字來實現的,其語法格式為:q其中“訪問權限”是指public,private,protected等n 下面的語句創(chuàng)建了Computer的子類Laptop:訪問權限 clas

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

20、super.成員方法名(參數列表)繼承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)機制:q子類的方法與父類方法共存q同一個類中同名但參數不同的方法共存,這種多態(tài)也成為重載n多個同名函數,不同的參數個數/類型n讓類以統一的方式處理不同類型的數據.void setComputerUsage(int computerUsage) puterUsage = computerUsage;void setComputerUsage(String computerUsage) puterUsage = computerUsage.toInteger(computerUsage);void setComputerUsage(float computerUsage) puterUsage = (int)computerUsage;.其他其他接口n 用于組織對象的行為,定義多個不同對象通用的成員方法n 實現接口必須實現接口中定義的所有方法p

溫馨提示

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

評論

0/150

提交評論