




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、面 向 對(duì) 象 程 序 設(shè) 計(jì)第3講 Java程序設(shè)計(jì)基礎(chǔ)(下)程序的流程控制 回顧Java 程序結(jié)構(gòu)以“類”為單位。類包括成員屬性和成員方法的兩方面描述。通過(guò)封裝實(shí)現(xiàn)對(duì)類內(nèi)部數(shù)據(jù)的保護(hù)?!鞍睓C(jī)制能夠避免命名沖突,以及保護(hù)類內(nèi)部成員。對(duì)象初始化與構(gòu)造方法的使用。方法重載的概念。北京科技大學(xué)天津?qū)W院-信息工程系本講主要內(nèi)容熟悉Java程序的組織形式理解類、對(duì)象與成員的概念掌握對(duì)象的創(chuàng)建與引用熟悉訪問(wèn)修飾符和方法修飾符的使用掌握J(rèn)ava支持的數(shù)據(jù)類型與操作符使用Java中的數(shù)組掌握選擇、循環(huán)結(jié)構(gòu)流程及其他流程控制語(yǔ)句北京科技大學(xué)天津?qū)W院-信息工程系堆內(nèi)存棧內(nèi)存引用與對(duì)象 MyClass mc =
2、 new MyClass( );這條語(yǔ)句實(shí)際上完成了三件事情:1)聲明引用mc,該引用的類型為MyClass,將只能引用MyClass以及其子類的對(duì)象。2)利用MyClass()構(gòu)造方法創(chuàng)建MyClass對(duì)象。3)把創(chuàng)建的對(duì)象賦給mc引用。mc=this.i0 x1001null0 x1001this.show()北京科技大學(xué)天津?qū)W院-信息工程系引用與對(duì)象this關(guān)鍵字【例2.14】不同對(duì)象對(duì)引用的賦值。 public class Reference private String name; public Reference(String n) name = n; public void sh
3、owName( ) System.out.println(name); public static void main(String args) Reference r1 = new Reference(r1); Reference r2 = new Reference(r2); r1.showName( ); r1 = r2; r1.showName( );public Reference(String name) name = name; = name;北京科技大學(xué)天津?qū)W院-信息工程系引用相等與對(duì)象相等的判斷【例】String對(duì)象相等的判斷 public class St
4、ringEquals public static void main(String args) String s1 = Hello world; String s2 = Hello world; String s3 = new String(Hello world); System.out.println(s1 = s2); System.out.println(s1 = s3); System.out.println(s1.equals(s3); 北京科技大學(xué)天津?qū)W院-信息工程系共創(chuàng)建了幾個(gè)對(duì)象呢訪問(wèn)修飾符訪問(wèn)修飾符的作用是說(shuō)明被聲明的內(nèi)容(類、屬性、方法)的訪問(wèn)權(quán)限。通過(guò)訪問(wèn)修飾符把類中將
5、被其他類調(diào)用的內(nèi)容開放出來(lái),而把不希望別人調(diào)用的內(nèi)容隱藏起來(lái)。 4種訪問(wèn)修飾符:public,private,protected,無(wú)修飾符北京科技大學(xué)天津?qū)W院-信息工程系類型private無(wú)修飾符protectedpublic同一個(gè)類中可訪問(wèn)可訪問(wèn)可訪問(wèn)可訪問(wèn)同一個(gè)包中的類不可訪問(wèn)可訪問(wèn)可訪問(wèn)可訪問(wèn)不同包的子類不可訪問(wèn)不可訪問(wèn)可訪問(wèn)可訪問(wèn)不同包并且非子類不可訪問(wèn)不可訪問(wèn)不可訪問(wèn)可訪問(wèn)方法修飾符方法修飾符為方法設(shè)置訪問(wèn)權(quán)限,包括:staticfinalabstract北京科技大學(xué)天津?qū)W院-信息工程系方法修飾符 static關(guān)鍵字static可以用于修飾變量、方法、代碼塊。 使用static修飾的
6、成員變量和方法,稱為靜態(tài)成員,也稱為類成員。靜態(tài)成員存儲(chǔ)于類的存儲(chǔ)區(qū),屬于整個(gè)類,不屬于一個(gè)具體的類對(duì)象,被所有該類的對(duì)象共享。因此在不同的類對(duì)象中訪問(wèn)靜態(tài)成員,訪問(wèn)的是同一個(gè)。 成員聲明為static后,無(wú)需創(chuàng)建該類的任何對(duì)象,直接通過(guò)類名稱來(lái)調(diào)用就可以訪問(wèn)。北京科技大學(xué)天津?qū)W院-信息工程系方法修飾符 static【例】用static修飾變量、方法、代碼塊。public class StaticSample static int x = 3; static int y; static void display( ) System.out.println(x = + x); System.ou
7、t.println(y = + y); static System.out.println(static block); y = x + 2; pubic static void main(String args) StaticSample.display( );北京科技大學(xué)天津?qū)W院-信息工程系方法修飾符 static【例】static成員變量的初始化。 class ClassStatic public static int i = staticInitMethod( ); public static int staticInitMethod( ) System.out.println(sta
8、tic成員變量被初始化); return 12; pubic static void main(String args) System.out.println(訪問(wèn)static成員變量i); int a = ClassStatic.i; System.out.println(創(chuàng)建對(duì)象); ClassStatic si = new ClassStatic( );北京科技大學(xué)天津?qū)W院-信息工程系方法修飾符 final用final修飾的類不能被繼承。用final修飾的變量,值不能被修改,即為常量。用final修飾的方法不能被重寫。如果對(duì)象已申明為final,對(duì)該對(duì)象的引用則不能更改,但它的屬性值可以
9、更改。 常量的命名規(guī)范:所有字母均大寫。北京科技大學(xué)天津?qū)W院-信息工程系方法修飾符 final【例】用final修飾常量PI,實(shí)現(xiàn)計(jì)算圓的面積。 public class Circle private final double PI = 3.14; private double radius; public void setRadius(double radius) this.radius = radius; public double area( ) return PI * this.radius * this.radius; 北京科技大學(xué)天津?qū)W院-信息工程系基本數(shù)據(jù)類型一個(gè)變量的數(shù)據(jù)類型決
10、定了變量所能容納的數(shù)值和操作符。 Java是一種強(qiáng)類型語(yǔ)言,意味著每一個(gè)變量都有一種類型且每一種類型都是經(jīng)過(guò)嚴(yán)格定義的。 C與Java基本數(shù)據(jù)類型的對(duì)比北京科技大學(xué)天津?qū)W院-信息工程系基本數(shù)據(jù)類型北京科技大學(xué)天津?qū)W院-信息工程系數(shù)據(jù)類型轉(zhuǎn)換不同類型的數(shù)據(jù)進(jìn)行混合運(yùn)算時(shí),首先需要轉(zhuǎn)換為同一類型然后運(yùn)算。自動(dòng)類型轉(zhuǎn)換:也稱放大轉(zhuǎn)換。條件:兩種類型兼容,目標(biāo)類型大于源類型,布爾型與其他類型不兼容。強(qiáng)制類型轉(zhuǎn)換:也稱縮小轉(zhuǎn)換。條件:源類型大于其目標(biāo)類型,如float值賦給int類型變量值,此時(shí)需要顯式類型轉(zhuǎn)換,即double d = 12.1int i = (int)d;北京科技大學(xué)天津?qū)W院-信息工程
11、系為了能將基本類型視為對(duì)象來(lái)處理,并能連接相關(guān)的方法,Java為每個(gè)基本數(shù)據(jù)類型都提供了包裝類。java.lang包中提供了每個(gè)基本數(shù)據(jù)類型對(duì)應(yīng)的包裝類?;緮?shù)據(jù)類型包裝類booleanBooleanbyteBytecharCharactershortShortintIntegerlongLongfloatFloatdoubleDouble北京科技大學(xué)天津?qū)W院-信息工程系包裝類包裝類例題【例】實(shí)現(xiàn)基本數(shù)據(jù)類型和包裝類之間的轉(zhuǎn)換。 public class Convert public static void main(String args) int myInt = 12; Integer m
12、yInteger = new Integer (myInt); System.out.println(myIValue( ); 北京科技大學(xué)天津?qū)W院-信息工程系操作符運(yùn)算符描述示例算術(shù)運(yùn)算符算術(shù)運(yùn)算符使用數(shù)字操作數(shù)。這些運(yùn)算符主要用于數(shù)學(xué)計(jì)算+, -, *, /,% ,+,-,+=關(guān)系運(yùn)算符關(guān)系運(yùn)算符用于測(cè)試兩個(gè)操作數(shù)之間的關(guān)系。使用關(guān)系運(yùn)算符的表達(dá)式的結(jié)果為 boolean 型=, =, = ,!=邏輯運(yùn)算符邏輯運(yùn)算符用于 boolean 操作數(shù)&, |, ,&,|,! 條件運(yùn)算符條件運(yùn)算符很獨(dú)特,因?yàn)樗怯萌齻€(gè)操作數(shù)組成表達(dá)式的三元運(yùn)算符。它可以替代某種類型的 if-e
13、lse 語(yǔ)句?: 賦值運(yùn)算符賦值運(yùn)算符為一個(gè)等號(hào) =,它將值賦給變量=, *=, /=, +=, -=北京科技大學(xué)天津?qū)W院-信息工程系操作符優(yōu)先級(jí)【例】在復(fù)雜運(yùn)算中,體現(xiàn)操作符的運(yùn)算優(yōu)先級(jí)。 public class OperatorTest public static void main(String args) int a = 1, b = 2, c = 3; boolean result; result = ( a = 1 ) & ( b != +a * c ); System.out.println(the result is: + result); 北京科技大學(xué)天津?qū)W院-信息工程系變
14、量作用域變量可以在代碼塊中聲明,代碼塊用來(lái)定義作用域,代碼塊以左大括號(hào)開始,以右大括號(hào)結(jié)束。class ScopeVar public static void main(String args) int num = 10; if ( num = 10) int num1 = num * num; System.out.println(“num 和 num1 的值為 + num + + num1); num1 = 10; System.out.println(“num 的值為 + num); /錯(cuò)誤!num1 未知/num 在內(nèi)層作用域中可用北京科技大學(xué)天津?qū)W院-信息工程系小結(jié)訪問(wèn)修飾符的作用。
15、static關(guān)鍵字修飾靜態(tài)成員,可以直接用類名稱調(diào)用,且只能調(diào)用其它靜態(tài)成員。final關(guān)鍵字用來(lái)表示常量。Java數(shù)據(jù)類型與C語(yǔ)言的區(qū)別,數(shù)據(jù)類型轉(zhuǎn)換及包裝類的使用。Java操作符的使用。變量作用域的概念。北京科技大學(xué)天津?qū)W院-信息工程系數(shù)組的概念數(shù)組是一個(gè)變量,用于將相同數(shù)據(jù)類型的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)單元中。數(shù)組可以為多維。一維數(shù)組由一列相同類型的數(shù)據(jù)組成,可以通過(guò)指定數(shù)組的名稱和大小來(lái)聲明數(shù)組。多維數(shù)組是數(shù)組的數(shù)組,要聲明一個(gè)多維數(shù)組,必須使用另一組方括號(hào)來(lái)指定附加索引。北京科技大學(xué)天津?qū)W院-信息工程系一維數(shù)組數(shù)組的定義: int numbers;數(shù)組的空間分配:numbers = new i
16、nt3;數(shù)組元素的初始化:int numbers = 1, 2, 3; /定義時(shí)初始化int numbers = new int 1, 2, 3;/分配空間時(shí)初始化numbers0 = 1; /對(duì)某一元素賦值初始化int numbers; numbers = 1, 2, 3; /error int numbers = new int31, 2, 3; /error 數(shù)組元素的訪問(wèn)北京科技大學(xué)天津?qū)W院-信息工程系int numbers = new int3;二維數(shù)組數(shù)組的定義:int numbers;數(shù)組的空間分配:numbers = new int34;數(shù)組元素的初始化:int numbers
17、 = new int1,2,3,4,5,6 /okint numbers = 1,2,3,4,5,6 /okint numbers = 1,2,3,4,5,6 /okint numbers = new int1,2,3,4,5,6 /errorint numbers = new int21,2,3,4,5,6 /error數(shù)組元素的訪問(wèn)北京科技大學(xué)天津?qū)W院-信息工程系二維數(shù)組Java的二維數(shù)組,每一行是一個(gè)一維數(shù)組。在C語(yǔ)言中,要求每一個(gè)一維數(shù)組列數(shù)相同,但Java允許每一行的列數(shù)不同,如:int numbers; /定義numbers = new int3; /分配空間numbers0 =
18、new int5; numbers1 = new int3;numbers2 = new int2;類似C語(yǔ)言中的指針數(shù)組,數(shù)組中每個(gè)元素都是引用。北京科技大學(xué)天津?qū)W院-信息工程系控制流語(yǔ)句三種基本結(jié)構(gòu)形式:順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。流控制使程序員可以創(chuàng)建一個(gè)應(yīng)用程序,該應(yīng)用程序能夠檢查現(xiàn)有的條件并決定適當(dāng)?shù)牟僮鬟^(guò)程。循環(huán)或迭代是重要的編程結(jié)構(gòu),可用于重復(fù)執(zhí)行一組操作。跳轉(zhuǎn)語(yǔ)句允許以非線性的方式執(zhí)行程序。北京科技大學(xué)天津?qū)W院-信息工程系控制流語(yǔ)句的類型判斷語(yǔ)句if-else 語(yǔ)句switch-case 語(yǔ)句循環(huán)語(yǔ)句while 循環(huán)do-while 循環(huán)for 循環(huán)增強(qiáng)的for循環(huán)北京科技大
19、學(xué)天津?qū)W院-信息工程系if-else 語(yǔ)句if-else 語(yǔ)句測(cè)試條件的結(jié)果,然后根據(jù)此結(jié)果來(lái)執(zhí)行相應(yīng)的操作,它可用于以兩個(gè)不同的路徑來(lái)執(zhí)行程序。if-else 語(yǔ)句分為:?jiǎn)畏种В╥f)雙分支(if-else)多分支結(jié)構(gòu)(if-else-if)北京科技大學(xué)天津?qū)W院-信息工程系if-else 語(yǔ)句北京科技大學(xué)天津?qū)W院-信息工程系if (condition) action1;if (condition) action1; else action2;NY 條件?語(yǔ)句序列NY 條件 語(yǔ)句組1 語(yǔ)句組2if (condition1) action1; elseif (condition2) action
20、2; elseif (condition3) action3; else action4;switch-case 語(yǔ)句switch-case 語(yǔ)句可用于替換 if-else-if 語(yǔ)句switch只能測(cè)試等式,且僅適用于byte、short、int和char類型的判斷。 switch (表達(dá)式) case 1: 操作 1 的語(yǔ)句; break; case 2: 操作 2 的語(yǔ)句; break; . case n : 操作 n 的語(yǔ)句; break; default: 默認(rèn)語(yǔ)句; 北京科技大學(xué)天津?qū)W院-信息工程系int month = 1;String name;switch (month) c
21、ase 1: name = “一月”; break; case 2: name = “二月”; break; . default: name = “月份無(wú)效”; 循環(huán)結(jié)構(gòu)while北京科技大學(xué)天津?qū)W院-信息工程系while只要指定的條件評(píng)估為true,while 循環(huán)則執(zhí)行一個(gè)語(yǔ)句或一組語(yǔ)句。語(yǔ)法int count = 0; while (count 10) System.out.println(count); count+;示例while (測(cè)試) / 語(yǔ)句 被執(zhí)行條件 = true循環(huán)結(jié)構(gòu)do-while北京科技大學(xué)天津?qū)W院-信息工程系do-while do-while循環(huán)執(zhí)行某些語(yǔ)句,直
22、到指定的條件為真。此循環(huán)確保循環(huán)體至少執(zhí)行一次。語(yǔ)法do System.out.println(count); count+; while (count 10) ;示例do / 語(yǔ)句 while (測(cè)試)被執(zhí)行條件 = true循環(huán)結(jié)構(gòu)for北京科技大學(xué)天津?qū)W院-信息工程系for for循環(huán)用于按預(yù)定的次數(shù)執(zhí)行語(yǔ)句或語(yǔ)句塊。語(yǔ)法for(int count = 0; count 10; count+) System.out.println(count); 示例for(計(jì)數(shù)器初始化;條件判斷; 增量) 操作語(yǔ)句; 條件 = true被執(zhí)行計(jì)數(shù)器初始化增量循環(huán)結(jié)構(gòu)增強(qiáng)的for循環(huán)主要體現(xiàn)在集合中,用
23、于遍歷集合中的每一項(xiàng)北京科技大學(xué)天津?qū)W院-信息工程系int primes = new int 2,3,5,7,11,13,17,19;for(int count : primes) System.out.println(count); 跳轉(zhuǎn)語(yǔ)句兩種跳轉(zhuǎn)語(yǔ)句為:breakcontinue break 語(yǔ)句:用于終止塊。 continue 語(yǔ)句:有時(shí)程序員可能希望繼續(xù)循環(huán),而停止處理其主體內(nèi)的其余代碼,以進(jìn)行特定的迭代。continue 語(yǔ)句可用于這種操作。北京科技大學(xué)天津?qū)W院-信息工程系示例打印輸出下面的圖形。 * * * * * * * * * * * * * * * * * * * * * * * * *北京科技大學(xué)天津?qū)W院-信息工程系public void pri
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版數(shù)學(xué)六年級(jí)下冊(cè)總復(fù)習(xí)綜合練習(xí)(數(shù)與代數(shù))1-7
- 廣東省揭陽(yáng)市華僑高級(jí)中學(xué)2025屆高三沖刺高考最后1卷物理試題含解析
- 昆明衛(wèi)生職業(yè)學(xué)院《交通運(yùn)輸商務(wù)管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州城市職業(yè)學(xué)院《汽車保險(xiǎn)與理賠》2023-2024學(xué)年第二學(xué)期期末試卷
- 應(yīng)收賬款流程管理圖解
- 上海建橋?qū)W院《聲樂(lè)》2023-2024學(xué)年第一學(xué)期期末試卷
- 西安科技大學(xué)《獸醫(yī)微生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 海南比勒費(fèi)爾德應(yīng)用科學(xué)大學(xué)《西方文藝美學(xué)專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北省荊門市京山市2025年數(shù)學(xué)五年級(jí)第二學(xué)期期末復(fù)習(xí)檢測(cè)模擬試題含答案
- 股骨干骨折中醫(yī)護(hù)理查房
- 2024-2025學(xué)年北師大版數(shù)學(xué)七年級(jí)下第一次月考模擬練習(xí)(含答案)
- 居室空間設(shè)計(jì) 課件 項(xiàng)目四 起居室空間設(shè)計(jì)
- 2025年廣西職業(yè)院校技能大賽高職組(智慧物流賽項(xiàng))參考試題庫(kù)及答案
- 2024年內(nèi)蒙古各地區(qū)中考語(yǔ)文文言文閱讀試題(含答案解析與翻譯)
- 【歷史】隋唐時(shí)期的科技與文化教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史下冊(cè)
- 2025年春新北師大版數(shù)學(xué)一年級(jí)下冊(cè)課件 三 20以內(nèi)數(shù)與減法 第3課時(shí) 湊數(shù)游戲
- 《義務(wù)教育信息科技教學(xué)指南》有效應(yīng)用策略
- 中國(guó)水泥回轉(zhuǎn)窯行業(yè)發(fā)展監(jiān)測(cè)及投資方向研究報(bào)告
- 2024年低碳生活科普知識(shí)競(jìng)賽題庫(kù)
- 2025-2030全球藻源蝦青素行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年廣東深圳市慢性病防治中心選聘專業(yè)技術(shù)人員3人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
評(píng)論
0/150
提交評(píng)論