




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、3.1 語(yǔ)句和塊v3.1.1 語(yǔ)句v在Java語(yǔ)言中,有下面幾類語(yǔ)句:空語(yǔ)句、標(biāo)識(shí)語(yǔ)句、聲明語(yǔ)句、表達(dá)式語(yǔ)句、分支語(yǔ)句、循環(huán)語(yǔ)句、跳轉(zhuǎn)語(yǔ)句、同步語(yǔ)句、異常語(yǔ)句等。有兩種基本的語(yǔ)句:表達(dá)式語(yǔ)句和聲明語(yǔ)句。v1.表達(dá)式語(yǔ)句v表達(dá)式語(yǔ)句是由表達(dá)式加分號(hào)構(gòu)成的語(yǔ)句。例如: i+;i+; System.out.println(Hello! ); System.out.println(Hello! );v在Java語(yǔ)言中語(yǔ)句用分號(hào)終止。但并不是所有的表達(dá)式都可以構(gòu)成語(yǔ)句。下面幾種類型的表達(dá)式可以通過(guò)添加分號(hào)構(gòu)成表達(dá)式語(yǔ)句:(1)賦值表達(dá)式,包含賦值運(yùn)算符或復(fù)合賦值運(yùn)算符之一。(2)+或的前后綴形式。(3)
2、方法調(diào)用(無(wú)論它是否有返回值)。(4)對(duì)象創(chuàng)建表達(dá)式,用new來(lái)創(chuàng)建一個(gè)對(duì)象的表達(dá)式。v2.聲明語(yǔ)句v聲明語(yǔ)句聲明一個(gè)變量,并可為其賦初值。聲明語(yǔ)句可以出現(xiàn)在任意塊內(nèi)。定義在方法內(nèi)或塊內(nèi)的局部變量在使用前必須賦初值,或在聲明時(shí)進(jìn)行初始化,或在聲明后賦值。v3.1.2 塊v用一對(duì)花括號(hào)“ ”將零個(gè)或多個(gè)語(yǔ)句括起來(lái),就構(gòu)成一個(gè)塊(也稱復(fù)合語(yǔ)句)。在塊中允許包含另一個(gè)塊(塊嵌套)。在Java語(yǔ)言中,允許一個(gè)塊出現(xiàn)在任何單一語(yǔ)句可以出現(xiàn)的地方。 v 塊體現(xiàn)了Java面向?qū)ο蟪绦蛟O(shè)計(jì)的封裝概念,在一個(gè)塊中聲明的局部變量的作用域是該變量的聲明開(kāi)始點(diǎn)到最小的包含其聲明的塊結(jié)束。 3.2分支語(yǔ)句v分支語(yǔ)句在程
3、序中的作用是使程序更靈活,它允許程序根據(jù)不同的情況、不同的條件等采取不同的動(dòng)作、進(jìn)行不同的操作,實(shí)現(xiàn)選擇結(jié)構(gòu)。在Java語(yǔ)言中使用的分支語(yǔ)句有if - else語(yǔ)句和switch語(yǔ)句。v3.2.1 if-else語(yǔ)句v1.用單個(gè)if語(yǔ)句實(shí)現(xiàn)單選、雙選結(jié)構(gòu)v用一個(gè)if - else語(yǔ)句可實(shí)現(xiàn)根據(jù)一個(gè)關(guān)系或邏輯表達(dá)式的值是true還是false兩種情況下進(jìn)行不同操作的程序結(jié)構(gòu),它的語(yǔ)法結(jié)構(gòu)如下: if(布爾表達(dá)式) 語(yǔ)句1 else 語(yǔ)句2v執(zhí)行到if語(yǔ)句,首先要計(jì)算布爾表達(dá)式,若值為真,則執(zhí)行語(yǔ)句語(yǔ)句1,否則(值為假時(shí))執(zhí)行語(yǔ)句2(實(shí)現(xiàn)雙選結(jié)構(gòu))。語(yǔ)句1和語(yǔ)句2都可以是復(fù)合語(yǔ)句。vif - el
4、se語(yǔ)句的else 語(yǔ)句2部分可省略,省略時(shí),若布爾表達(dá)式的值為假,則不執(zhí)行任何語(yǔ)句(實(shí)現(xiàn)單選結(jié)構(gòu))。v【例3.2】 用Math類的random()方法產(chǎn)生一個(gè)字符,若該字符是一個(gè)大寫英文字母,則輸出“Yes!”,否則輸出“No!”。vrandom()方法產(chǎn)生的隨機(jī)數(shù)在0.0和1.0之間,乘以128后,其值在0.0和128.0之間,將它轉(zhuǎn)換為char類型后,用if來(lái)判斷是否在A 和Z之間。程序如下:class IsUpper public static void main(String args) char ch; ch=(char)(Math.random()*128); if(ch = A
5、 & ch b)t = a;a = b;b = t; if(a c)t = a;a = c;c = t; if(b c)t = b;b = c;c = t; System.out.println(a + + b + + c); v(2)if語(yǔ)句嵌套v在if - else語(yǔ)句中,若語(yǔ)句1或語(yǔ)句2又是if - else語(yǔ)句時(shí),就構(gòu)成了if嵌套。采用if 嵌套的程序設(shè)計(jì)方法也可實(shí)現(xiàn)多選操作。v【例3.4】檢查用random()方法產(chǎn)生的一個(gè)字符,判斷是否為英文大寫字母、小寫字母、數(shù)字、空格或是其他符號(hào),并輸出相應(yīng)信息。v程序要根據(jù)5種不同的字符情況輸出不同的信息。這屬于多分支的程序設(shè)計(jì),采用
6、if嵌套的方法。class Letter public static void main(String args) char ch; ch=(char)(java.lang.Math.random()*128); if(ch = a & ch = A & ch = 0 & ch = 9) System.out.println(ch + 是數(shù)字!); else System.out.println(ch + 是其他符號(hào)!); v3.2.2 switch語(yǔ)句vswitch多分支語(yǔ)句結(jié)構(gòu)實(shí)際上也是一種if - else結(jié)構(gòu),不過(guò)它使得在編碼時(shí)很容易寫出判斷條件,特別是條件有很
7、多選項(xiàng)而且比較簡(jiǎn)單的時(shí)候。switch的語(yǔ)法結(jié)構(gòu)如下: switch(表達(dá)式) case 值1:語(yǔ)句1;break; case 值2:語(yǔ)句2;break; . . case 值N:語(yǔ)句N;break; default:語(yǔ)句N+1; v執(zhí)行switch語(yǔ)句時(shí),首先計(jì)算表達(dá)式的值,其類型是整型或字符型,并與各個(gè)case之后的常量值類型相同。然后將該值同每種情況case列出的值作恒等比較:若相等,則程序流程轉(zhuǎn)入該值后緊跟的語(yǔ)句(塊);若表達(dá)式的值與任何一個(gè)case后的值都不相同,則執(zhí)行default后的語(yǔ)句(塊);若沒(méi)有default子句,則什么都不執(zhí)行。 3.3 循環(huán)語(yǔ)句v循環(huán)語(yǔ)句的作用是使某一段
8、程序根據(jù)需要重復(fù)執(zhí)行多次。循環(huán)語(yǔ)句由循環(huán)體和循環(huán)條件兩部分構(gòu)成,循環(huán)體是要重復(fù)執(zhí)行的語(yǔ)句,循環(huán)條件決定循環(huán)的開(kāi)始、重復(fù)執(zhí)行以及結(jié)束循環(huán)。循環(huán)語(yǔ)句實(shí)現(xiàn)的循環(huán)(或稱重復(fù))結(jié)構(gòu),是一種封閉結(jié)構(gòu),當(dāng)循環(huán)條件被滿足時(shí),重復(fù)執(zhí)行循環(huán)結(jié)構(gòu)內(nèi)的操作,當(dāng)循環(huán)條件不被滿足時(shí),退出循環(huán)結(jié)構(gòu)。v一個(gè)循環(huán)一般包括四個(gè)部分:(1)初始化部分,用來(lái)設(shè)置循環(huán)的一些初始條件, 如累加器清零等。(2)循環(huán)體部分,重復(fù)執(zhí)行的一段程序,可以是一條語(yǔ)句,也可以是一塊語(yǔ)句。(3)迭代部分,在當(dāng)前循環(huán)結(jié)束,下一次循環(huán)開(kāi)始前執(zhí)行的語(yǔ)句。常用形式為一計(jì)數(shù)器值在增減。(4)終止部分,一般為布爾表達(dá)式,每一次循環(huán)都要對(duì)該表達(dá)式求值,以檢查是否滿足
9、循環(huán)終止條件。vJava語(yǔ)言提供三種形式的循環(huán)語(yǔ)句:while循環(huán)語(yǔ)句、do - while循環(huán)語(yǔ)句和for循環(huán)語(yǔ)句 。v3.3.1 while語(yǔ)句vwhile語(yǔ)句的一般格式為: while( while( 布爾表達(dá)式布爾表達(dá)式 ) )語(yǔ)句語(yǔ)句vJava執(zhí)行while循環(huán)語(yǔ)句時(shí),先檢查布爾表達(dá)式的值是否為true,若為true,則執(zhí)行給定語(yǔ)句(即循環(huán)體),然后,再檢查布爾表達(dá)式的值,反復(fù)執(zhí)行上述操作,直到布爾表達(dá)式的值為false,就退出循環(huán)結(jié)構(gòu)。v若首次執(zhí)行while語(yǔ)句時(shí),循環(huán)條件為false,則循環(huán)體一次也未執(zhí)行,即while語(yǔ)句循環(huán)體最少執(zhí)行次數(shù)為0次。v【例3.7】計(jì)算1 + 2 +
10、 3 + . + 100。v一組有規(guī)律的數(shù)據(jù)的連續(xù)加或連續(xù)乘等計(jì)算一般都用循環(huán)程序來(lái)解決。class Sum1To100 public static void main(String args) int i,sum = 0; i=1; / 設(shè)循環(huán)初值 while(i = 100) / 設(shè)循環(huán)條件為 i= 0;) i-; for(int i = 10;i = 0;) i-;v【例3.9】用for循環(huán)語(yǔ)句按10度的增量打印出一個(gè)從攝氏1090度到華氏溫度的轉(zhuǎn)換表。class TempConversion public static void main (String args) int fahr,
11、cels; System.out.println(攝氏溫度 華氏溫度); for(cels = 10;cels = 90;cels += 10) fahr = cels * 9 / 5 + 32; System.out.println( + cels + + fahr); v程序的運(yùn)行結(jié)果如下:攝氏溫度 華氏溫度 10 50 20 68 30 86 40 104 50 122 60 140 70 158 80 176 90 194v3.3.4 循環(huán)嵌套v循環(huán)嵌套是指在某個(gè)循環(huán)語(yǔ)句的循環(huán)體中又包含另一個(gè)循環(huán)語(yǔ)句,也稱多重循環(huán)。外面的循環(huán)語(yǔ)句稱為“外層循環(huán)”,外層循環(huán)的循環(huán)體中的循環(huán)稱為“內(nèi)存循環(huán)
12、”。v設(shè)計(jì)循環(huán)嵌套結(jié)構(gòu)時(shí),要注意內(nèi)存循環(huán)語(yǔ)句必須完整地包含在外層循環(huán)的循環(huán)體中,不得出現(xiàn)內(nèi)外層循環(huán)體交叉的情況。Java語(yǔ)言中的三種循環(huán)語(yǔ)句都可以組成多重循環(huán)。v【例3.10】 求3100之間的所有素?cái)?shù)。public class PrimeNumber public static void main(String args) System.out.println( * 3100之間的所有素?cái)?shù) *); int n = 0; for(int i = 3;i 100;i += 2) / 外層循環(huán) int k = (int)Math.sqrt(i); boolean isPrime = true; f
13、or(int j = 2;j = k;j + ) / 內(nèi)層循環(huán) if( i%j = 0 )isPrime = false; if(isPrime) System.out.printf(%4d,i); n +; / 控制每行打印10個(gè)素?cái)?shù) if( n % 10 = 0 )System.out.println(); System.out.println(); v程序運(yùn)行結(jié)果如下:* 3100之間的所有素?cái)?shù) * 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97v【例3.11】輸出星號(hào)符號(hào)組成的菱形圖案。字符圖案的
14、程序設(shè)計(jì)有一定的規(guī)律,在本例中可將每行的輸出內(nèi)容分為空格、星號(hào)和回車換行三個(gè)部分來(lái)考慮。如果希望將圖案輸出在屏幕的左邊,則各行星號(hào)前的空格數(shù)按行序分別為2、1、0、1、2;各行的星號(hào)個(gè)數(shù)按行序分別為1、3、5、3、1??珊线m的構(gòu)造循環(huán)變量的取值,使得程序設(shè)計(jì)比較簡(jiǎn)單。class PrintStar public static void main(String args) for(int i=-2;i=2;i+) / 圖案有5行,外循環(huán)5次 / 1: 內(nèi)循環(huán)1,輸出空格 for(int j=1;j=Math.abs(i);j+)System.out.print( ); / 2: 內(nèi)循環(huán)2,輸出星
15、號(hào) for(int j=1;j=(3-Math.abs(i)*2-1;j+) System.out.print(*); / 3: 輸出回車換行 System.out.println(); 3.4 標(biāo)號(hào)和其他流程控制語(yǔ)句v3.4.1 標(biāo)號(hào)v標(biāo)號(hào)是一個(gè)標(biāo)識(shí)符,用于給某程序塊一個(gè)名字。格式如下: label:codeBlockvlabel是標(biāo)號(hào)名,用標(biāo)識(shí)符表示。標(biāo)號(hào)名用冒號(hào)與其后面的語(yǔ)句(塊)分開(kāi)。例如:給給forfor循環(huán)塊一標(biāo)號(hào)循環(huán)塊一標(biāo)號(hào)LoopLoop的語(yǔ)句為:的語(yǔ)句為:Loop : for(int i = 0,sum = 0;i 10;i +)sum += i;v由于Java語(yǔ)言未提供go
16、to語(yǔ)句,故標(biāo)號(hào)不與goto一起使用。下面介紹的break語(yǔ)句和continue語(yǔ)句經(jīng)常需要使用標(biāo)號(hào)。v3.4.2 break語(yǔ)句vbreak語(yǔ)句和下一節(jié)的continue語(yǔ)句可以看成結(jié)構(gòu)化的goto語(yǔ)句。break語(yǔ)句的功能是終止執(zhí)行包含break語(yǔ)句的一個(gè)程序塊。break語(yǔ)句除了可應(yīng)用于前面介紹的switch語(yǔ)句中外,還可應(yīng)用于各種循環(huán)語(yǔ)句中。break語(yǔ)句的格式如下: break label;vbreak有兩種形式:不帶label和帶label。label是標(biāo)號(hào)名,它必須位于break語(yǔ)句所在的封閉語(yǔ)句塊的開(kāi)始處。v【例3.12】用break終止循環(huán)。class BreakLoopcl
17、ass BreakLoop public static void main(String args) public static void main(String args) for(int i=0; i100; i+) for(int i=0; i100; i+) if(i = 5) break; / if(i = 5) break; / 若若i i為為5 5則終止循環(huán)則終止循環(huán) System.out.println(i: + i);System.out.println(i: + i); System.out.println(Loop System.out.println(Loop完成。完成
18、。);); vbreak語(yǔ)句只終止執(zhí)行包含它的最小程序塊,而有時(shí)希望終 止更外層的塊,用帶標(biāo)號(hào)的break語(yǔ)句就可實(shí)現(xiàn)這種功能,它使得程序流程控制轉(zhuǎn)移到標(biāo)號(hào)指定層次的結(jié)尾。v【例3.13】用break終止外層循環(huán)。class BreakDemo public static void main(String args) boolean t = true; first: / 定義塊first second: / 定義塊 second third: / 定義塊 third System.out.println(在break之前。); if(t) break second; / break終止seco
19、nd塊 System.out.println(本語(yǔ)句將不被執(zhí)行。); System.out.println(本語(yǔ)句將不被執(zhí)行。); System.out.println(在second塊后的語(yǔ)句。); v3.4.3 continue語(yǔ)句vcontinue語(yǔ)句只能用在循環(huán)中,它的功能是使得程序跳過(guò)循環(huán)體中continue語(yǔ)句后剩下的部分(即短路),終止當(dāng)前這一輪循環(huán)的執(zhí)行。continue語(yǔ)句的格式如下: continue 標(biāo)號(hào);vcontinue語(yǔ)句有帶標(biāo)號(hào)和不帶標(biāo)號(hào)兩種形式。不帶標(biāo)號(hào)的continue語(yǔ)句在while或do-while語(yǔ)句中使流程直接跳到循環(huán)條件的判斷上;在for語(yǔ)句中則直接
20、計(jì)算表達(dá)式3的值,再根據(jù)表達(dá)式2的值是true或false決定是否繼續(xù)循環(huán)。v【例3.14】以每行兩個(gè)數(shù)據(jù)的格式輸出數(shù)字0 9。class ContinueDemo class ContinueDemo public static void main(String args) public static void main(String args) for(int i = 0; i 10; i +) for(int i = 0; i 10; i +) System.out.print(i + ); System.out.print(i + ); if (i % 2 = 0) continue;
21、 if (i % 2 = 0) continue; System.out.println( ); System.out.println( ); / /上面的語(yǔ)句執(zhí)行到上面的語(yǔ)句執(zhí)行到continuecontinue時(shí)被跳過(guò)時(shí)被跳過(guò) vcontinue語(yǔ)句和break語(yǔ)句一樣,也可以和標(biāo)號(hào)結(jié)合使用。這個(gè)標(biāo)號(hào)名必須放在循環(huán)語(yǔ)句之前,用于標(biāo)志這個(gè)循環(huán)體。執(zhí)行了內(nèi)循環(huán)體的continue語(yǔ)句后,將進(jìn)行由標(biāo)號(hào)標(biāo)明的循環(huán)語(yǔ)句的下一輪循環(huán)。v【例3.15】求3N之間的所有素?cái)?shù),使用帶標(biāo)號(hào)的continue語(yǔ)句。 import javax.swing.JOptionPane;import javax.swin
22、g.JOptionPane;class PrimeNbelowclass PrimeNbelow public static void main(String args) public static void main(String args) String s=JOptionPane.showInputDialog(N=); String s=JOptionPane.showInputDialog(N=); int n=Integer.parseInt(s); int n=Integer.parseInt(s); loop:loop: for(int i=3;i=n;i+) for(int
23、i=3;i=n;i+) for(int j=2;j=i/2;j+) for(int j=2;j=i/2;j+) if(i % j =0)continue loop; if(i % j =0)continue loop; System.out.printf(%4d,i); System.out.printf(%4d,i); System.out.println(); System.out.println(); v在本程序中,執(zhí)行到continue loop語(yǔ)句時(shí),流程控制轉(zhuǎn)移到loop標(biāo)記的外層for循環(huán)的下一次循環(huán)中去執(zhí)行。v3.4.4 return語(yǔ)句vreturn語(yǔ)句的功能是從當(dāng)前方法中退
24、出,返回到調(diào)用該方法的語(yǔ)句處,并從緊跟該語(yǔ)句的下一語(yǔ)句繼續(xù)程序的執(zhí)行。return語(yǔ)句的格式如下: return 表達(dá)式;或 return(表達(dá)式);v當(dāng)用void定義了一個(gè)返回值為空的方法時(shí),方法體中不一定要有return語(yǔ)句,程序執(zhí)行完,它自然返回。若要從程序中間某處返回,則可使用return語(yǔ)句。若一個(gè)方法的返回類型不是void類型,那么就用帶表達(dá)式的return語(yǔ)句。表達(dá)式的類型應(yīng)該同這個(gè)方法的返回類型一致或小于返回類型。v例如一個(gè)方法的返回類型是double類型時(shí),return語(yǔ)句表達(dá)式的類型可以是double、float或者是short、int、byte、char等。例如:doub
25、le exam(int x,double y,boolean b) if(b) return x; else return y;3.5 方法的使用v在解決一些比較復(fù)雜的問(wèn)題時(shí),按照現(xiàn)代模塊化程序設(shè)計(jì)的思想,應(yīng)仔細(xì)分析問(wèn)題,善于將這些復(fù)雜問(wèn)題分解成若干相對(duì)簡(jiǎn)單的問(wèn)題,即劃分為多個(gè)模塊。這樣,解決一個(gè)復(fù)雜問(wèn)題就轉(zhuǎn)化為逐個(gè)解決一些簡(jiǎn)單問(wèn)題。對(duì)程序開(kāi)發(fā)和維護(hù)而言,小模塊比大程序更便于管理。v在Java語(yǔ)言中,類和方法就是程序的模塊。在一個(gè)類中可以根據(jù)需要設(shè)計(jì)多個(gè)方法。在程序設(shè)計(jì)時(shí),可將一個(gè)程序中完成特定功能的程序段定義為方法(類似其他語(yǔ)言的函數(shù))。在需要使用這些功能時(shí),可調(diào)用相應(yīng)的方法。特別是在某些功
26、能多次被使用時(shí),采用方法可大大提高程序代碼的可復(fù)用性。使用方法要掌握方法定義、方法調(diào)用、方法參數(shù)傳送等方面的內(nèi)容。 v3.5.1 方法的定義與調(diào)用v1.方法的定義v方法的定義是描述實(shí)現(xiàn)某個(gè)特定功能所需的數(shù)據(jù)及進(jìn)行的運(yùn)算和操作。定義形式如下: 修飾符 返回類型 方法名(參數(shù)表) / 方法體 v其中,用方括號(hào)括住的項(xiàng)目是可選的。方法的返回類型指的是方法的返回值類型,若方法完成的功能是計(jì)算值,則計(jì)算結(jié)果值或計(jì)算值的表達(dá)式一般要書(shū)寫到方法體里的return語(yǔ)句中,而且類型一般應(yīng)與返回類型指明的類型一致。返回值類型可以是基本類型、數(shù)組、類等。若方法完成的功能不返回值,返回類型處應(yīng)為void,而且方法體中
27、的return語(yǔ)句不能帶表達(dá)式或不用return語(yǔ)句。v方法定義中的方法名是一標(biāo)識(shí)符,是對(duì)方法的命名。v方法定義中可選的參數(shù)表必須用圓括號(hào)括起來(lái),參數(shù)表由0個(gè)或多個(gè)用逗號(hào)分隔的參數(shù)構(gòu)成,每個(gè)參數(shù)由類型和參數(shù)名(標(biāo)識(shí)符)組成,參數(shù)可以是基本數(shù)據(jù),也可以是數(shù)組或類實(shí)例,參數(shù)類型可以是基本數(shù)據(jù)類型或類。方法用參數(shù)來(lái)與外界發(fā)生聯(lián)系(數(shù)據(jù)傳送)。v方法定義中括起來(lái)的部分稱為方法體,在其中書(shū)寫方法的實(shí)現(xiàn)語(yǔ)句,包括數(shù)據(jù)定義和執(zhí)行語(yǔ)句。v方法定義中可選的修飾符用關(guān)鍵字表示,用來(lái)說(shuō)明方法的某些特性。可用的修飾符有public、static、private等。vJava語(yǔ)言允許一個(gè)類中定義多個(gè)方法,方法定義形式為
28、并列形式,先后順序無(wú)關(guān)緊要。v【例3.16】定義一個(gè)計(jì)算圓面積的方法area()。計(jì)算圓面積需要知道圓的半徑r,area()方法應(yīng)從外部得到這個(gè)r,所以可將r設(shè)置為一個(gè)參數(shù),類型為double。area()方法將計(jì)算出一個(gè)面積值,類型也應(yīng)為double,可將它設(shè)置為area()返回值類型。area()方法可定義如下: double area(double r) double s = Math.PI * r * r; / 方法參數(shù)在方法體中可直接引用 return(s); v【例3.17】定義一個(gè)求三個(gè)整數(shù)中最大數(shù)的方法max3()。該方法需要三個(gè)整數(shù),因此,需設(shè)置三個(gè)整數(shù)參數(shù)。max3()的返
29、回結(jié)果是一個(gè)整數(shù)值(即最大整數(shù)),可設(shè)置方法返回值類型為整型。max3()可定義如下:int max3(int x,int y,int z) int big; big = Math.max(x,y); big = Math.max(big,z); return(big);v2.方法的調(diào)用v在程序中需要某個(gè)方法的功能時(shí),要調(diào)用該方法。調(diào)用方法時(shí),要用實(shí)際參數(shù)替換方法定義中的參數(shù)表中的形式參數(shù)(或稱虛擬參數(shù))。實(shí)際參數(shù)(簡(jiǎn)稱實(shí)參)的個(gè)數(shù)、類型、順序都必須與形式參數(shù)(簡(jiǎn)稱形參)一致。v【例3.18】調(diào)用例3.17中定義的max3()方法求變量a、b和c中的最大值。class MethodDemo p
30、ublic static void main(String args) int a = 4,b = 5,c = 2,big; big = max3(a,b,c); / 用3個(gè)實(shí)參調(diào)用方法max3, 方法的返回值存入big變量 System.out.println(big); static int max3(int x,int y,int z) /max3有3個(gè)形式參數(shù) int big; big = Math.max(x,y); big = Math.max(big,z); return(big); v在例中,方法的返回值類型為基本類型,在調(diào)用方法中,用一個(gè)與方法返回值相同類型的變量big來(lái)接收
31、返回值。也可以對(duì)方法調(diào)用的返回值直接輸出,如上例中輸出三個(gè)整數(shù)中的最大數(shù),可改為System.out.println(max3(a,b,c)。v3.5.2 方法調(diào)用中的數(shù)據(jù)傳送v調(diào)用方法與被調(diào)方法之間往往需要進(jìn)行數(shù)據(jù)傳送。一般說(shuō)來(lái),方法間傳送數(shù)據(jù)有如下的幾種方式:值傳送方式、引用傳送方式、返回值方式、實(shí)例變量和類變量傳送方式。方法的參數(shù)可以是基本類型的變量、數(shù)組和類對(duì)象等。通過(guò)實(shí)參與形參的對(duì)應(yīng),數(shù)據(jù)傳送給方法體使用。v1.值傳送方式v值傳送方式是將調(diào)用方法的實(shí)參的值計(jì)算出來(lái)賦予被調(diào)方法對(duì)應(yīng)形參的一種數(shù)據(jù)傳送方式。在這種數(shù)據(jù)傳送方式下,被調(diào)方法對(duì)形參的計(jì)算、加工與對(duì)應(yīng)的實(shí)參已完全脫離關(guān)系。當(dāng)被調(diào)
32、方法執(zhí)行結(jié)束,形參中的值可能發(fā)生變化,但是返回后,這些形參中的值將不回帶到對(duì)應(yīng)的實(shí)參中。因此,值傳送方式的特點(diǎn)是“數(shù)據(jù)的單向傳送”。v使用值傳送方式時(shí),形式參數(shù)一般是基本類型的變量,實(shí)參是常量、變量,也可以是表達(dá)式。v2.引用傳送方式v使用引用傳送方式時(shí),方法的參數(shù)類型一般為復(fù)合類型(引用類型),復(fù)合類型變量中存儲(chǔ)的是對(duì)象的引用。所以在參數(shù)傳送中是傳送引用,方法接收參數(shù)的引用,所以任何對(duì)形參的改變都會(huì)影響到對(duì)應(yīng)的實(shí)參。因此,引用傳送方式的特點(diǎn)是“引用的單向傳送,數(shù)據(jù)的雙向傳送”。v3.返回值方式v返回值方式不是在形參和實(shí)參之間傳送數(shù)據(jù),而是被調(diào)方法通過(guò)方法調(diào)用后直接返回值到調(diào)用方法中。使用返回
33、值方式時(shí),方法的返回值類型不能為void,且方法體中必須有帶表達(dá)式的return語(yǔ)句,其中表達(dá)式的值就是方法的返回值。在例3.18中,方法max3()就是利用返回值方式將3個(gè)數(shù)據(jù)的最大值回送到main()方法中的。這個(gè)方法的返回值為int類型,所以在定義方法時(shí),方法的類型要定義為int類型。v4.實(shí)例變量和類變量傳送方式v實(shí)例變量和類變量傳送方式也不是在形參和實(shí)參之間傳送數(shù)據(jù),而是利用在類中定義的實(shí)例變量和類變量是類中諸方法共享的變量的特點(diǎn)來(lái)傳送數(shù)據(jù)。因類變量(static變量)可直接訪問(wèn),使用較簡(jiǎn)單。 v【例3.19】求半徑為1.23高為4.567的圓柱體體積。使用類變量來(lái)傳遞數(shù)據(jù)。 pub
34、lic class CircleVolume static double r = 1.23,h = 4.567,s,v; / 定義類變量 public static void main(String args) area(); / 調(diào)用area方法 vol(); / 調(diào)用vol方法 System.out.println(半徑為1.23的圓面積 = + s); System.out.println(半徑為1.23高為4.567的圓柱體 體積 = + v); static void area() s = Math.PI*r*r; / 訪問(wèn)類變量r和s static void vol() v = s
35、 * h; / 訪問(wèn)類變量s、h和v v程序的運(yùn)行結(jié)果如下:半徑為1.23的圓面積 = 4.752915525615998半徑為1.23高為4.567的圓柱體體積 = 21.7065652054882v本程序利用類變量使得main()方法、area()方法和vol()方法之間傳送了數(shù)據(jù)。v3.5.3 方法和變量的作用域v在Java語(yǔ)言中,方法與變量的作用域(有效使用范圍)是清晰的,根據(jù)定義變量的位置不同,作用域也不全相同。當(dāng)一個(gè)方法使用某個(gè)變量時(shí),以如下的順序查找變量:v當(dāng)前方法、當(dāng)前類、一級(jí)一級(jí)向上經(jīng)過(guò)各級(jí)父類、import類和包,若都找不到所要的變量定義,則產(chǎn)生編譯錯(cuò)誤。v1.局部變量v局
36、部變量是定義在塊內(nèi)、方法內(nèi)的變量。這種變量的作用域是以塊和方法為單位的,僅在定義該變量的塊或方法內(nèi)有效,而且要先定義賦值,然后再使用,即不允許超前引用。因?yàn)榫植孔兞吭诓檎視r(shí)首先被查找,因此若某一局部變量與類的實(shí)例變量名或類變量名相同時(shí),則該實(shí)例變量或類變量在方法體內(nèi)被暫時(shí)“屏蔽”起來(lái),只有退出這個(gè)方法后,實(shí)例變量或類變量才起作用。v每調(diào)用一次方法,都要?jiǎng)討B(tài)地為方法的局部變量分配內(nèi)存并初始化。方法體內(nèi)不能定義靜態(tài)變量。方法體內(nèi)的任何語(yǔ)句塊內(nèi)都可以定義新的變量,這些變量?jī)H在定義它的語(yǔ)句塊內(nèi)起作用。當(dāng)語(yǔ)句塊有嵌套時(shí),內(nèi)層語(yǔ)句塊定義的變量不能與外層語(yǔ)句塊的變量同名,否則會(huì)出現(xiàn)編譯錯(cuò)誤。另外,方法的參數(shù)
37、也屬于局部變量,因此聲明與參數(shù)同名的局部變量也會(huì)出錯(cuò)。v2.實(shí)例變量和類變量v定義在類內(nèi)、方法外的變量是實(shí)例變量,使用了修飾符static的變量是靜態(tài)變量(或稱類變量)。實(shí)例變量和類變量的作用域是以類為單位的。因?yàn)閷?shí)例變量、類變量與局部變量的作用域不同,故可以與局部變量同名。v【例3.21】說(shuō)明局部變量和實(shí)例變量、類變量。class MyObject static short s = 400; / 類變量 int i = 200; / 實(shí)例變量 void f() System.out.println(s = + s); System.out.println(i = + i); short s
38、= 300; / 局部變量 int i = 100; / 局部變量,與實(shí)例變量同名 double d = 1E100; / 局部變量 System.out.println(s = + s); System.out.println(i = + i); System.out.println(d = + d); class LocalVariables public static void main(String args) MyObject myObject = new MyObject(); myObject.f(); v程序運(yùn)行結(jié)果如下:s = 400i = 200s = 300i = 100
39、d = 1.0E100v 一般情況下,變量應(yīng)該先定義后使用。但在某些情況下允許超前引用,即在定義位置前引用;(1)實(shí)例變量允許超前引用類變量;(2)實(shí)例變量不能超前引用實(shí)例變量,靜態(tài)變量不能超前引用靜態(tài)變量;(3) 實(shí)例方法中允許超前引用實(shí)例變量和類變量;(4) 類方法中只允許訪問(wèn)類變量,但允許超前引用;v 3.方法v實(shí)例方法和類方法在整個(gè)類內(nèi)均是可見(jiàn)的,可以超前引用。除方法的重載外,聲明兩個(gè)同名實(shí)例方法或類方法是錯(cuò)誤的,類方法與實(shí)例方法同名也是錯(cuò)誤的。 v3.5.4 方法的嵌套和遞歸調(diào)用v1. 嵌套調(diào)用v在一個(gè)方法的調(diào)用中,該方法的實(shí)現(xiàn)部分又調(diào)用了另外的方法,則稱為方法的嵌套調(diào)用。v【例3.
40、22】求 ,當(dāng)n = 11,x = 4,6,8,10時(shí)的值。public class MethodNestDemo public static void main(String args) int n = 11,x; for(x = 4;x 11;x += 2) System.out.println(C( + n + , + x + ) = + comb(n , x); static int comb(int n,int x) return( fact( n ) / fact( x ) / fact( n x ); xnC static int fact(int n) if(n = 1) re
41、turn 1; else return fact(n - 1) * n; v程序運(yùn)行結(jié)果如下:C(11,4) = 330C(11,6) = 462C(11,8) = 165C(11,10) = 11v2. 遞歸v在一個(gè)方法有調(diào)用該方法自身的情況時(shí),稱為方法的遞歸調(diào)用。大多數(shù)情況是直接遞歸,即一個(gè)方法直接自己調(diào)自己。當(dāng)一個(gè)實(shí)際問(wèn)題可用遞歸形式描述時(shí),該問(wèn)題的求解用遞歸方法變得容易。例如,求n!、求前n個(gè)自然數(shù)的和、求第n個(gè)Fibonacci數(shù)等。v【例3.23】用遞歸調(diào)用求第n個(gè)Fibonacci數(shù)的方法求前20個(gè)Fibonacci數(shù)。public class Fibo public stati
42、c void main(String args) final int n = 20; for(int i = 1;i = n;i+) System.out.print(f(i)+ ); if(i % 10 = 0)System.out.println(); static long f(long n) if(n = 1|n = 2)return 1; else return f(n - 1) + f(n - 2); v程序的運(yùn)行結(jié)果如下:1 1 2 3 5 8 13 21 34 5589 144 233 377 610 987 1597 2584 4181 6765v從程序設(shè)計(jì)的角度來(lái)說(shuō),遞歸方
43、法必須解決兩個(gè)問(wèn)題:一是遞歸計(jì)算的公式,二是遞歸結(jié)束的條件。對(duì)求第n個(gè)Fibonacci數(shù)列的遞歸方法來(lái)說(shuō),這兩個(gè)條件是: 遞歸計(jì)算公式:fib( n )=fib(n - 1) fib(n - 2) 遞歸結(jié)束條件:fact( 1 ) = 1v3.5.5 方法的重載vJava語(yǔ)言允許在一個(gè)類中定義幾個(gè)同名的方法,但要求這些方法具有不同的參數(shù)集合,即方法參數(shù)的個(gè)數(shù)、類型和順序要不同。這種做法稱為方法的重載。當(dāng)調(diào)用一個(gè)重載的方法時(shí),Java編譯器可根據(jù)方法參數(shù)的個(gè)數(shù)、類型和順序的不同,來(lái)調(diào)用相應(yīng)的方法。vMath類中的方法abs()、max()和min()等都是重載的,它們具有double、floa
44、t、int、long等參數(shù)和返回值類型的重載方法。Java根據(jù)方法名及參數(shù)集合的不同來(lái)區(qū)分不同的方法,若調(diào)用的兩個(gè)同名方法中參數(shù)個(gè)數(shù)、類型及順序均一樣,僅僅返回值類型不同,則編譯時(shí)會(huì)產(chǎn)生錯(cuò)誤。v重載方法可以有不同類型的返回值。 v【例3.24】用方法重載求圓、矩形、梯形面積。class Area static double area(double r) return Math.PI * r * r; static double area(double l,double w) return l * w; static double area(double d1,double d2,double
45、h) return (d1 + d2) * h / 2; public static void main(String args) double s1 = area(3.0); System.out.println(圓面積 = + s1); double s2 = area(3.0,4.0); System.out.println(矩形面積 = + s2); double s3 = area(3.0,4.0,5.0); System.out.println(梯形面積 = + s3); v程序運(yùn)行結(jié)果如下:圓面積 = 28.274333882308138矩形面積 = 12.0梯形面積 = 17.
46、5v在本例中,三個(gè)求面積的方法名都相同,但參數(shù)個(gè)數(shù)不同,在main方法中用不同的參數(shù)個(gè)數(shù)去調(diào)用area方法,可求不同的面積。3.6 異常處理vJava是一個(gè)講究安全性的語(yǔ)言。任何可能在程序運(yùn)行過(guò)程中產(chǎn)生打斷程序正常執(zhí)行的事件都有用來(lái)保護(hù)的陷阱。Java異常處理機(jī)制提供了去檢查及處理產(chǎn)生各種錯(cuò)誤、異常事件的方法。v 3.6.1 異常概述v1異常的概念v用Java的術(shù)語(yǔ)來(lái)說(shuō),在程序運(yùn)行過(guò)程中發(fā)生的、會(huì)打斷程序正常執(zhí)行的事件稱為異常(Exception),也稱為例外。程序運(yùn)行過(guò)程中可能會(huì)有許多意料之外的事情發(fā)生,例如,零用作了除數(shù)(產(chǎn)生算術(shù)異常ArithmeticException)、在指定的磁盤上
47、沒(méi)有要打開(kāi)的文件(產(chǎn)生文件未找到異常FileNotFoundException)、數(shù)組下標(biāo)越界(產(chǎn)生數(shù)組下標(biāo)越界異常ArrayIndexOutOfBoundsException)等。對(duì)于一個(gè)實(shí)用的程序來(lái)說(shuō),處理異常的能力是一個(gè)不可缺少的部分,它的目的是保證程序在出現(xiàn)任何異常的情況下仍能按照計(jì)劃執(zhí)行。v【例3.25】Java系統(tǒng)對(duì)異常的處理。public class SystemException public static void main(String args) int a = 68; int b = 0; System.out.println(a / b); / 0用作了除數(shù) v程序運(yùn)
48、行結(jié)果為:Exception in thread main java.lang.ArithmeticException: / by zero at SystemException.main(SystemException.java:5)v2.Java對(duì)異常的處理機(jī)制vJava異常處理機(jī)制提供了一種統(tǒng)一和相對(duì)簡(jiǎn)單的方法來(lái)檢查及處理可能的錯(cuò)誤。例如,在程序中出現(xiàn)了除以 零 的 錯(cuò) 誤 時(shí) , 即 拋 出 ( t h r o w ) 一 個(gè)ArithmeticException異常實(shí)例,異常處理程序捕獲(catch)這個(gè)異常實(shí)例,并對(duì)它進(jìn)行處理。如果系統(tǒng)找不到相應(yīng)的異常處理程序,則由Java缺省的異
49、常處理程序來(lái)處理,即在輸出設(shè)備上輸出異常信息,同時(shí)程序停止運(yùn)行。有時(shí)也可以在程序中寫一些自己的例程來(lái)處理異常;也可以將錯(cuò)誤交給Java系統(tǒng)去處理,從而可以使得程序安全地退出。v3.異常類的層次和主要子類vJava用面向?qū)ο蟮姆椒ㄌ幚懋惓?,所有的異常都是Throwable類的子類生成的對(duì)象。所有的異常類都是Throwable類的后代。Throwable類的父類是Java的基類(Object),它有兩個(gè)直接子類:Error類和Exception類。運(yùn)行時(shí)異常RuntimeException類是Exception類的子類。只有Throwable類的后代才可以作為一個(gè)異常被拋出。 v4.異常類的方法和
50、屬性v(1)異常類的構(gòu)造方法v構(gòu)造方法是一類方法名與類名相同的方法,用于創(chuàng)建并初始化該類的對(duì)象。Exception類有四個(gè)重載的構(gòu)造方法,常用的兩個(gè)構(gòu)造方法為:public Exception()創(chuàng)建新異常。public Exception(String message); 用字符串參數(shù)message描述異常信息并創(chuàng)建新異常。v(2)異常類的方法vException類常用的方法有:public String toString()返回描述當(dāng)前異常對(duì)象信息的字符串。public String getMessage()返回描述當(dāng)前異常對(duì)象的詳細(xì)信息。public void printStackTra
51、ce()在屏幕上輸出當(dāng)前異常對(duì)象使用堆棧的軌跡,即程序中先后調(diào)用了哪些方法,使得運(yùn)行過(guò)程中產(chǎn)生了這個(gè)異常對(duì)象。v【例3.26】運(yùn)行時(shí)異常產(chǎn)生時(shí)的信息顯示。class ExceptionDemo public static void main(String args) String s = 123.45; methodA(s); static void methodA(String s) Integer i = new Integer(s); System.out.println(i); v程序運(yùn)行結(jié)果如下:Exception in thread main“ java.lang.NumberFo
52、rmatException: 123.45 at java.lang.Integer.parseInt(Integer.java:438) at java.lang.Integer.(Integer.java:570) at MyClass.methodA(MyClass.java:7) at MyClass.main(MyClass.java:4) v3.6.2 異常處理v在Java語(yǔ)言中,異常有幾種處理方式:v(1)可以不處理運(yùn)行時(shí)異常,由Java虛擬機(jī)自動(dòng)進(jìn)行處理。v(2)使用try-catch-finally語(yǔ)句捕獲異常。v(3)通過(guò)throws子句聲明拋棄異常,還可以自定義異常,用t
53、hrow語(yǔ)句來(lái)拋出它。v1.運(yùn)行時(shí)異常v運(yùn)行時(shí)異常是Java運(yùn)行時(shí)系統(tǒng)在程序運(yùn)行中檢測(cè)到的,可能在程序的任何部分發(fā)生,而且數(shù)量可能較多,如果逐個(gè)處理,工作量很大,有可能影響程序的可讀性及執(zhí)行效率,因此,Java編譯器允許程序不對(duì)運(yùn)行時(shí)異常進(jìn)行處理,而將它交給缺省的異常處理程序,一般的處理方法是在屏幕上輸出異常的內(nèi)容以及異常的發(fā)生位置。在必要的時(shí)候,也可以聲明、拋出、捕獲運(yùn)行時(shí)異常。v2.try-catch-finally語(yǔ)句v在Java語(yǔ)言中,允許自己來(lái)處理異常。Java語(yǔ)言提供try-catch-finally語(yǔ)句來(lái)捕獲和處理異常,該語(yǔ)句的格式如下:try 語(yǔ)句 / 可能產(chǎn)生異常的語(yǔ)句cat
54、ch(異常類 e) / 異常參數(shù) 語(yǔ)句 / 異常處理程序catch(異常類 e) / 異常參數(shù) 語(yǔ)句 / 異常處理程序finally 語(yǔ)句v try語(yǔ)句塊中是可能產(chǎn)生異常對(duì)象的語(yǔ)句,一旦其中的語(yǔ)句產(chǎn)生了異常,程序即跳到緊跟其后的第一個(gè)catch子句。try程序塊之后的catch子句可以有多個(gè),也可以沒(méi)有。v catch子句中都有一個(gè)代表異常類型的形式參數(shù),這個(gè)參數(shù)指明了這個(gè)catch程序塊可以捕獲并處理的異常類型。若產(chǎn)生的異常類型與catch子句中聲明的異常參數(shù)類型匹配,則執(zhí)行這個(gè)catch程序塊中的異常處理程序。匹配的意思是指異常參數(shù)類型與實(shí)際產(chǎn)生的異常類型一致或是其父類。若不匹配則順序?qū)ふ?/p>
55、下一個(gè)catch子句,因此catch語(yǔ)句的排列順序應(yīng)該從特殊到一般,否則,放在后面的catch語(yǔ)句將永遠(yuǎn)執(zhí)行不到。v 也可以用一個(gè)catch語(yǔ)句處理多個(gè)異常類型,這時(shí)它的異常類型參數(shù)應(yīng)該是這多個(gè)異常類型的父類。 v【例3.27】捕獲除數(shù)為零的異常,并顯示相應(yīng)信息。class ExceptionDemo1 public static void main(String args) int d, a; try / 監(jiān)控可能產(chǎn)生異常的代碼塊 d = 0; a = 68 / d; System.out.println(本字符串將不顯示。); catch (ArithmeticException e) /
56、捕獲divide-by-zero錯(cuò)誤 System.out.println(產(chǎn)生用零除錯(cuò)誤。); System.out.println(在捕獲語(yǔ)句后。); v程序運(yùn)行結(jié)果如下:產(chǎn)生用零除錯(cuò)誤。在捕獲語(yǔ)句后。v【例3.28】多個(gè)catch子句的try語(yǔ)句。class ExceptionDemo2 public static void main(String args) try int a = args.length; System.out.println(a = + a); int b = 42 / a; int c = 1 ; c4 = 99; catch(ArithmeticExceptio
57、n e) / 捕獲算術(shù)運(yùn)算異常 System.out.println(Divide by 0: + e); catch(ArrayIndexOutOfBoundsException e) / 捕獲數(shù)組下標(biāo)越界異常 System.out.println(Array index oob: + e); System.out.println(After try/catch blocks.); v程序運(yùn)行結(jié)果如下:a = 0Divide by 0: java.lang.ArithmeticException: / by zeroAfter try/catch blocks.v3.throw語(yǔ)句和thro
58、ws子句vthrow語(yǔ)句可使得用戶自己根據(jù)需要拋出異常。throw語(yǔ)句以一個(gè)異常類的實(shí)例對(duì)象作為參數(shù)。一般的形式是: 方法名(參數(shù)表) throws 異常類 . throw new 異常類(); vnew運(yùn)算符被用來(lái)生成一個(gè)異常類的實(shí)例對(duì)象。例如: throw new ArithmeticException();v包含throw語(yǔ)句的方法要在方法頭參數(shù)表后書(shū)寫throws子句。它的作用是通知所有要調(diào)用此方法的其他方法,可能要處理該方法拋棄的那些異常。若方法中的throw語(yǔ)句不止一個(gè),throws子句應(yīng)指明拋棄的所有可能產(chǎn)生的異常。v通常使用throws子句的方法本身不處理本方法中產(chǎn)生的異常,聲明拋棄異常使得異常對(duì)象可以從調(diào)用棧向后傳播,直到有合適的方法捕獲它為止。對(duì)未用throw語(yǔ)句產(chǎn)生系統(tǒng)異常的方法,也可以使
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 斧鑿混凝土外墻施工方案
- 臺(tái)山屋頂清洗施工方案
- 水庫(kù)高溫施工方案
- 危險(xiǎn)性專項(xiàng)施工方案
- 漯河管井降水施工方案
- TSHJMRH 0063-2024 在用潤(rùn)滑油顆粒污染度的測(cè)定 光阻法
- 家長(zhǎng)會(huì)安全發(fā)言稿
- 2025年度股份轉(zhuǎn)讓過(guò)程中稅務(wù)籌劃及優(yōu)惠政策合同
- 二零二五年度關(guān)于協(xié)議作廢糾紛的調(diào)解與賠償協(xié)議
- 二零二五年度夫妻共同維護(hù)家庭和諧與子女幸福感協(xié)議書(shū)
- 氧氣、二氧化碳、氬氣安全周知卡
- 第9章 循環(huán)系統(tǒng)疾病患兒的護(hù)理
- 基層醫(yī)療衛(wèi)生機(jī)構(gòu)崗位設(shè)置指導(dǎo)意見(jiàn)
- micro830和micro850可編程控制器手冊(cè)
- FSC-COC培訓(xùn)學(xué)習(xí)
- 焊接線能量的計(jì)算公式
- 醫(yī)用氧儲(chǔ)罐檢查記錄表
- 植物的營(yíng)養(yǎng)器官:根、莖、葉匯總
- 第三套廣播體操《七彩陽(yáng)光》分解動(dòng)作講解(共4頁(yè))
- 歷屆全國(guó)初中數(shù)學(xué)聯(lián)賽真題及答案
- 頸椎病ppt課件
評(píng)論
0/150
提交評(píng)論