JohoLewis《JavaSoftwareSolutions》第六版課件第二章.ppt_第1頁
JohoLewis《JavaSoftwareSolutions》第六版課件第二章.ppt_第2頁
JohoLewis《JavaSoftwareSolutions》第六版課件第二章.ppt_第3頁
JohoLewis《JavaSoftwareSolutions》第六版課件第二章.ppt_第4頁
JohoLewis《JavaSoftwareSolutions》第六版課件第二章.ppt_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章程序設計基礎,本章是學習Java程序設計的基礎。我們首先通過一個簡單的Java程序來了解程序的組成結(jié)構(gòu)、語言要素和編寫規(guī)范,建立程序的基本概念。然后以數(shù)據(jù)和運算作為程序設計的基礎,通過講解數(shù)據(jù)和數(shù)據(jù)類型、變量和常量、表達式和運算符以及流程控制,開始Java程序設計語言的探索之旅,2.1 程序,程序是指按照時間順序依次安排的工作步驟。而程序設計則是對這些步驟的編排和優(yōu)化。 計算機處理的核心是數(shù)據(jù)和運算。數(shù)據(jù)的基本存儲單位是位,數(shù)據(jù)按照不同的數(shù)據(jù)類型來組織和存儲。運算的基礎是表達式,運算的控制手段是流程。無論是多么復雜的運算,都可以分解成順序、選擇和循環(huán)這三種基本的程序結(jié)構(gòu)。 Java程序由

2、一個或多個獨立的類組成,但其中必須有一個公有類,而且源代碼文件(.java文件)必須與這個公有類的名字相同。,2.1.1 初識Java程序,一個Java程序的基本框架結(jié)構(gòu): Java程序由一個或多個獨立的類組成,但其中必須有一個公有類(如:HelloWorld),而且源代碼文件必須與這個公有類的名字相同(如:HelloWorld.java)。 Java的類可以由一個或多個方法組成,其中公有類中的main方法可用作程序運行的入口。,/ The First Java Program public class HelloWorld public static void main(String arg

3、s) System.out.println(Hello World!); ,程序頭的注釋,HelloWorld類,main方法,修飾符,方法頭,方法體,方法名,參數(shù),返回類型,2.1.1 初識Java程序,Java程序的編輯、編譯和運行過程,Java程序編譯通過,會自動生成一個包含了這個源程序字節(jié)碼的同名.class文件。該文件可以通過Java虛擬機運行。,2.1.2 標識符和關鍵字,在Java語言中,標識符用于表示變量、常量、方法、類或接口的名稱。標識符是大小寫敏感的,但沒有長度限制。 Java關鍵字是為編譯器保留的、具有特定含義的標識符,不能把它用做變量、類或方法的名稱。 Java語言中的

4、保留字,2.1.3 撰寫規(guī)范的程序代碼,程序代碼質(zhì)量評審原則: 正確性 指程序代碼要實現(xiàn)軟件設計所要求的功能; 可靠性 指程序代碼最后編譯的程序要能夠穩(wěn)定、可靠、安全的運行; 規(guī)范化 指程序代碼書寫的風格、命名規(guī)則等要符合規(guī)范; 可讀性 指程序代碼要便于查看和理解; 靈活性 指程序代碼的設計和編寫應該易于維護和改動。,/ 程序說明 package 包的名稱 import 類的名稱 類修飾符 class 類的名稱 構(gòu)造方法 類成員:方法 (按照以下訪問特性次序排列) public protected private protected private 類成員:域 (按照以下訪問特性次序排列) p

5、ublic protected private protected private 靜態(tài)變量(即使用 static修飾符的。按照以下訪問特性次序排列) public protected private protected private 常量 (即使用static final修飾符的),2.2 數(shù)據(jù)和數(shù)據(jù)類型,數(shù)據(jù)是我們對信息的一種組織和表達形式。計算機是一個數(shù)據(jù)處理器,而程序就是處理數(shù)據(jù)的具體步驟和方法。 Java是強類型語言,在Java中,常量和變量必須事先聲明數(shù)據(jù)類型才能使用。Java通過聲明的數(shù)據(jù)類型在合適的地方為它們分配內(nèi)存。,2.2.1 數(shù)據(jù),無論數(shù)據(jù)以何種形式出現(xiàn),但對于計算機而

6、言,程序所處理的都是同樣的二進制位模式數(shù)據(jù)。計算機存儲器僅僅將數(shù)據(jù)以位模式存儲。至于解釋位模式是數(shù)值類型、文本類型、或其它的數(shù)據(jù)類型,則是由輸入/輸出設備或程序的完成。 位(bit,binary digit的縮寫)是存儲在計算機中的最小單位;它是0或1。長度為8的位模式被稱為1個字節(jié)。 不同的位模式集合可以設計用于表示文本符號。我們稱一類位模式集合為碼。表示符號的過程被稱為編碼。常用的碼有ASCII碼、擴展ASCII碼、Unicode碼。,2.2.2 常量和變量,變量是指其值在運行時可以改變的量。在程序運行期間其值保持不變的量,我們稱之為常量。Java語言中使用關鍵字final來定義常量。例如

7、: final double PI = 3.14159; / PI是實數(shù)類型常量 int x, y; / x, y是整數(shù)類型變量 double w = 3.1415;/ w是實數(shù)類型變量 boolean truth = true;/ truth是布爾類型變量 Constant const = new Constant();/ const是對象類型變量,2.2.3 數(shù)據(jù)類型,Java中的數(shù)據(jù)類型可以分為基本類型(primitive type)和對象類型(object type)兩大類。其中的基本數(shù)據(jù)類型包括:整數(shù)類型、實數(shù)類型(也稱浮點類型)、字符類型和布爾類型。 Java中的對象數(shù)據(jù)類型是一種

8、抽象數(shù)據(jù)類型(ADT),它將數(shù)據(jù)和相關的操作封裝在一起。除了Java類庫提供的大量作為API的對象數(shù)據(jù)類型外,Java允許程序員定義自己的對象數(shù)據(jù)類型,滿足更復雜的編程需要。,抽象,2.2.3 數(shù)據(jù)類型,字符串是指一個字符序列的集合。在Java中字符串完全被當成對象,字符串類型是標準Java類庫中預定義的String類。字符串作為對象數(shù)據(jù)類型還封裝了許多相關的操作,便于我們對字符串進行處理。 int length() 返回字符串的長度。 String substring(int beginIndex, int endIndex) 返回原字符串中從beginIndex位置開始到endIndex位

9、置(不包括該位置)之間的所有字符組成的新字符串。 int indexOf(int ch) 返回從索引0開始的與ch字符相匹配的首個字符的位置(索引值)。未檢索到匹配字符的則返回-1。 int indexOf(String str) 返回從索引0開始的與str字符串相匹配的首個子串的開始位置(索引值)。未檢索到匹配的字符串則返回-1。 boolean equals(Object anObject) 比較字符串是否相等,相當時返回true,否則返回false。 比較字符串是否相等應該使用equals方法 。,示例程序 22 字符串的引用與構(gòu)造 Srting name1 = new String(李

10、白);/構(gòu)造字符串對象“李白”, /name1引用該字符串對象 Srting name2 = 李白;/name2引用已構(gòu)造的字符串對象“李白” Srting name3 = 杜甫;/隱式構(gòu)造字符串對象“杜甫”,name3引用該字符串對象 name1 = 杜甫;/name1引用字符串對象“杜甫”,2.2.3 數(shù)據(jù)類型,Java程序在首次聲明變量時,需要為其指定一種類型。類型決定了變量中存儲的值的范圍,以及能對變量值執(zhí)行的操作。Java是一種強類型語言,它能區(qū)別多種數(shù)據(jù)類型,并且通常不允許用一種類型替換另一種。這樣,使得編譯器能高效處理數(shù)據(jù),防止由于類型不匹配導致的運行時錯誤。當需要更高的靈活性時

11、,Java語言也提供了類型轉(zhuǎn)換的機制。,2.3 表達式與運算符,一個表達式就是一個能夠返回值的簡單結(jié)構(gòu)。最簡單的表達式是變量和常量。在Java中也可以通過使用運算符、方法調(diào)用以及類型轉(zhuǎn)換等,建立復雜的表達式。 建立表達式?jīng)]有通用的方法,因為要取決于所用的運算符,Java包括有賦值運算符、邏輯運算符、算術(shù)運算符、布爾運算符、位運算符等等。表達式可用于賦值給一個變量、計算方法的參數(shù)、或者判斷一個條件,表達式也可以包含方法的調(diào)用。例如: x 變量 PI 常量 System.out.println(字符串長度:+n); 方法調(diào)用 x * y 算術(shù)運算 x = 1.5 變量賦值 love2.equals

12、(love1) 邏輯運算 int p = (int)PI; 類型轉(zhuǎn)換 理解表達式的重點之一就是要了解不同的運算符。,2.3 表達式與運算符,運算符是用來完成一個動作的特定語言的語法記號。 賦值運算符 增減運算符 算術(shù)運算符 關系運算符 邏輯運算符 位運算符,2.3 表達式與運算符,Java語言中明確地規(guī)定了各種運算符的優(yōu)先級。在優(yōu)先級條件下,運算規(guī)則是:優(yōu)先級高的運算符在優(yōu)先級低的運算符之前求值,優(yōu)先級相同時自左向右求值。,2.4 流程控制,任何程序流程均可以用順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)這三種基本控制結(jié)構(gòu)實現(xiàn)。 程序中的語句是按照編寫時寫入的順序一條接一條地執(zhí)行的,這一過程稱為順序執(zhí)行。 J

13、ava提供了兩種選擇結(jié)構(gòu)語句:if語句和switch語句。 循環(huán)結(jié)構(gòu)使用條件表達式來控制一個(一組)動作的重復執(zhí)行。Java語言中支持的循環(huán)語句包括:while循環(huán)、do-while循環(huán)、for循環(huán)。,2.4 流程控制,switch語句是多分支判斷選擇結(jié)構(gòu)。根據(jù)選擇器的值,switch語句可以從很多可能的條件中選擇一個分支中的語句或語句塊執(zhí)行。,if-else語句允許在兩個程序塊之間進行選擇。同樣,無論條件的值如何,都能確保有且只有一種選擇被執(zhí)行。if語句還可以嵌套任意層以構(gòu)成更復雜的判斷選擇結(jié)構(gòu)。,2.4 流程控制,while循環(huán) do-while循環(huán) for循環(huán),while (布爾表達式) 語句; . /如果循環(huán)體是單條語句,可不使用 do 語句; . while (布爾表達式); for ( 初值表達式 ; 布爾表達式 ; 步進表達 式 ) 語句; . /如果循環(huán)體是單條語句,可不使用,2.4 流程控制,break :在while、do-while或for循環(huán)中,當某種條件滿足時需要立即跳出循環(huán)時,使用break關鍵字,可以使得程序的執(zhí)行流程立即跳出循環(huán)。 continue :如果想跳過循環(huán)中的部分代碼重新開始下一次循環(huán),就使用continue關鍵字。,一個有趣的例題,射雕英雄傳的朋友,一定還記得黃蓉遇上神算子瑛姑,給她出的三道題目中有一題是這樣的

溫馨提示

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

評論

0/150

提交評論