版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 第一章第一章 數(shù)學(xué)預(yù)備知識(shí)數(shù)學(xué)預(yù)備知識(shí) 第二章第二章 導(dǎo)引與基本數(shù)據(jù)結(jié)構(gòu)導(dǎo)引與基本數(shù)據(jù)結(jié)構(gòu)第三章第三章 遞歸算法遞歸算法武漢科技大學(xué)理學(xué)院信息與計(jì)算科學(xué)系楊 波cookie_2008年9月2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 SPARKS語言語言n教材為描述算法選用的一種計(jì)算機(jī)語言n類PASCAL語言n結(jié)構(gòu)化設(shè)計(jì)n凡掌握一門程序設(shè)計(jì)語言的人都能很快看懂2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 基本語法成分基本語法成分1)數(shù)據(jù)類型 整型 integer 實(shí)型 float 布爾型 boolean 字符型 cha
2、r2)變量聲明 類型說明符 變量 integer i,j boolean b char c3)數(shù)組 任意整數(shù)下標(biāo) integer A(1:5,7:20) integer B(5,7:20) 2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 4)賦值運(yùn)算 (變量)(表達(dá)式) x 2 + x5)邏輯運(yùn)算:and or not6)關(guān)系運(yùn)算: 2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 7)控制結(jié)構(gòu): 順序:(略) 分支: if cond then S1 else S2 endif case :cond 1: S1 :cond 2: S2 :cond n: Sn :else: Sn+
3、1 endcase循環(huán):while cond do Srepeatloop Suntil cond repeatfor vblestart to finish by increment do Srepeat 2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 8) 函數(shù)的定義與調(diào)用 過程定義 procedure NAME(參數(shù)表) (說明部分) S end NAME 過程的調(diào)用: CALL 過程名 函數(shù)定義 類型名 procedure NAME(參數(shù)表) (說明部分) S return (表達(dá)式) end NAME 函數(shù)的引用:x function(參數(shù));2008-09-01版權(quán)所有:楊
4、波,武漢科技大學(xué)理學(xué)院 9) 變量的分類 a)根據(jù)數(shù)據(jù)類型分類 整型、實(shí)型、字符型等 b)根據(jù)作用域分類: 全程變量、局部變量、形式參數(shù) c)根據(jù)是否帶入、帶出數(shù)據(jù)值/結(jié)果分類: in型變量 out型變量 inout型變量 邊界效應(yīng):改變了參變量或全程變量的值 函數(shù):通過函數(shù)值返回輸出結(jié)果,沒有邊界效應(yīng) 純過程:沒有函數(shù)值返回,只通過邊界效應(yīng)帶出輸出結(jié)果2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 10) 特殊語句 a)exit 退出當(dāng)前一層的循環(huán) b)return 退出過程 return(表達(dá)式) : 函數(shù)返回結(jié)果 c)goto 無條件轉(zhuǎn)向語句 goto label 11) 遞歸
5、a)直接遞歸:過程中包含對(duì)自身的調(diào)用 b)間接遞歸:間接調(diào)用自身12) 輸入輸出 read、print13)注釋 /注釋/2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 JAVA語言語言n教學(xué)算法大多使用JAVA語言n面向?qū)ο蟮恼Z言n使算法結(jié)構(gòu)緊湊、可讀性強(qiáng)2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 Java程序結(jié)構(gòu)(程序結(jié)構(gòu)(1)n應(yīng)用程序和appletqJava應(yīng)用程序一定有一個(gè)主方法main,而applet的主方法名為init。qJava應(yīng)用程序可在命令行中用命令語句:Java programNameqJava的applet必須嵌入HTML文件,由Web瀏覽器或app
6、let閱覽器來執(zhí)行qJava程序必須先編譯后執(zhí)行。系統(tǒng)在編譯時(shí)將Java源程序轉(zhuǎn)化為Java字節(jié)碼(bytecode)。Java源程序文件的后綴為.java,編譯后字節(jié)碼文件的后綴為.class。 qJava字節(jié)碼可以看作是在一臺(tái)虛擬計(jì)算機(jī)即Java虛擬機(jī)(JVM)上運(yùn)行的語言。本地計(jì)算機(jī)通過Java虛擬機(jī)解釋運(yùn)行Java程序。 2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 Java程序結(jié)構(gòu)(程序結(jié)構(gòu)(1)Java源代碼Java字節(jié)碼編譯JVMJVMJVM操作系統(tǒng)操作系統(tǒng)操作系統(tǒng)硬件硬件硬件2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 Java程序結(jié)構(gòu)(程序結(jié)構(gòu)(2)n包q
7、Java程序和類可以包(packages)的形式組織管理。qJava自帶的包有java.awt,java.io,java.lang,java.util等。 qJava用戶可根據(jù)需要將自己的程序組織成各種應(yīng)用包。 nImport語句 qJava程序中可以用import語句加載所需的包。 qimport java.io.*;語句加載java.io包。語句import java.io.PrintStream;則加載java.io包中的PrintStream類。2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 Java數(shù)據(jù)類型數(shù)據(jù)類型Java的基本數(shù)據(jù)類型類型缺省值 分配空間(位)取值范圍boo
8、leanfalse1true, falsebyte08-128+127charu000016u0000uFFFFdouble0.0644.910-324 1.810308float0.0321.410-45 3.41038int032-2147483648 2147483647long064-9.21017 +9.21017short016-32768327672008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 Java數(shù)據(jù)類型數(shù)據(jù)類型n經(jīng)過包裝的非基本數(shù)據(jù)類型qByteqIntegerqBooleanqStringq2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 Java數(shù)據(jù)類型
9、數(shù)據(jù)類型n基本數(shù)據(jù)類型和包裝類型的區(qū)別:q在聲明一個(gè)具有基本數(shù)據(jù)類型的變量時(shí),自動(dòng)建立該數(shù)據(jù)類型的對(duì)象(或稱為實(shí)例) 。q對(duì)經(jīng)過包裝的非基本數(shù)據(jù)類型,并不建立該數(shù)據(jù)類型的對(duì)象,而是建立一個(gè)該類型的引用對(duì)象(內(nèi)存地址)。該數(shù)據(jù)類型的對(duì)象可用new語句建立。 2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 Java數(shù)據(jù)類型數(shù)據(jù)類型int a;0aString s;s=new String(“str);nulls地址istsr地址i2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 n方法:在Java語言中,執(zhí)行特定任務(wù)的函數(shù)或過程統(tǒng)稱為方法(methods)方法功能方法功能abs(x)
10、x的絕對(duì)值max(x,y)x和y中較大者ceil(x)不小于x的最小整數(shù) min(x,y) x和y中較小者 cos(x) x的余數(shù) pow(x,y) xyexp(x) exsin(x) x的正弦 floor(x) 不大于x的最大整數(shù) sqrt(x) x的平方根 log(x) x的自然對(duì)數(shù) tan(x) x的正切 方法方法Java的Math類給出的常見數(shù)學(xué)計(jì)算的方法2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 對(duì)計(jì)算表達(dá)式 2baba值的自定義方法ab描述如下: public static int ab(int a,int b) return (a+b+Math.abs(a-b)/2;
11、 public static double ab(double a,double b) return (a+b+Math.abs(a-b)/2; 2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 異常異常nJava的異常(exception)提供了一種處理錯(cuò)誤的簡(jiǎn)潔的方法。當(dāng)程序發(fā)現(xiàn)一個(gè)錯(cuò)誤,就引發(fā)一個(gè)異常,以便在程序最合適的地方捕獲異常并進(jìn)行處理。 public static int ab(int a,int b) if(a=0|b0”); else return (a+b+Math.abs(a-b)/2;2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 public stati
12、c void main(String args) tryf(); /try定義異常處理 catch(exception1) /catch捕獲異常 異常處理1; /出現(xiàn)異常要執(zhí)行的代碼塊 catch(exception2) 異常處理2; finally finally塊; /無異常產(chǎn)生時(shí)都必須執(zhí)行 2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 異常處理完整的例子異常處理完整的例子public static void main(String args) trySystem.out.println(ab=+ab(-5,-7); catch(IllegalArgumentException
13、e) System.out.println(a=+(-5)+ b=+(-7); System.out.println(e); catch(Throwable e) System.out.println(e); finally System.out.println(Thanks); public static int ab(int a,int b) if(a=0|b0); else return (a+b+Math.abs(a-b)/2;2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 Java的類的類nJava的類一般由4個(gè)組成部分: q類名q數(shù)據(jù)成員q方法q訪問修飾 nPublic(公
14、有):在public域中聲明的數(shù)據(jù)成員和方法可以在程序的任何部分訪問。 nprivate(私有):在private域中聲明的數(shù)據(jù)成員和方法構(gòu)成類的私有部分,只能由該類的對(duì)象和方法對(duì)它們進(jìn)行訪問 。nprotected(保護(hù)):在protected域中聲明的數(shù)據(jù)成員和方法允許該類的對(duì)象、方法和子類訪問。 2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 public class Rectangle public static final int MAX=2000; private int x,y,h,w;/(x,y)是矩形左下角點(diǎn)的坐標(biāo),h是高,w是寬 public Rectangle(i
15、nt xx,int yy,int hh,int ww)/構(gòu)造函數(shù) if(hhMAX|wwMAX) throw new IllegalArgumentException(“Illegal values of h or w”); else x=xx; y=yy; h=hh; w=ww; public Rectangle()/構(gòu)造方法 this(0,0,0,0); public int getHeigth()return h;/返回矩形的高 public int getWidth()return w;/返回矩形的寬 public static void main(String args) Recta
16、ngle r=new Rectangle(); Rectangle s=new Rectangle(1,1,20,20); System.out.println(”r.h=”+r.getHeight()+” r.w= “+r.getWidth(); System.out.println(“s.h=”+s.GetHeight()+” s.w= “+s.getWidth(); n構(gòu)造函數(shù)qJava類的構(gòu)造方法(Constructor)用于初始化對(duì)象的數(shù)據(jù)成員。構(gòu)造方法名與它所在的類名相同。構(gòu)造方法必須聲明為類的公有方法。構(gòu)造方法不可有返回值也不得指明返回類型。 n靜態(tài)類成員qstatic:類成員前
17、的關(guān)鍵字static表明該類成員是靜態(tài)成員。Java只維護(hù)靜態(tài)類成員的一個(gè)拷貝,而非靜態(tài)類成員的每個(gè)對(duì)象都有一個(gè)拷貝。qfinal:表示值不可修改。 n類對(duì)象q類對(duì)象的聲明與創(chuàng)建方式類似于變量的聲明與創(chuàng)建方式。對(duì)一個(gè)對(duì)象成員進(jìn)行訪問或調(diào)用可用運(yùn)算符來實(shí)現(xiàn)。 n靜態(tài)方法q靜態(tài)方法的調(diào)用方式是:方法名(實(shí)際參數(shù))。q非靜態(tài)方法的調(diào)用方式是:. 2008-09-01版權(quán)所有:楊波,武漢科技大學(xué)理學(xué)院 垃圾收集垃圾收集 nJava的new運(yùn)算用于分配所需內(nèi)存空間。例如,int a=new int5000;分配5000字節(jié)空間給整型數(shù)組a。頻繁用new分配空間可能會(huì)耗盡內(nèi)存。Java的垃圾收集器會(huì)適時(shí)掃描內(nèi)存
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024礦山開采渣土砂石外運(yùn)及環(huán)保處理合同
- 2024年項(xiàng)目工程專項(xiàng)技術(shù)咨詢合同范本版B版
- 2024年道路貨物運(yùn)輸服務(wù)協(xié)議版B版
- 2024石材資源開發(fā)與保護(hù)合作合同范本3篇
- 2024青島汽車租賃合同違約責(zé)任條款3篇
- 2024年高效工業(yè)設(shè)備購銷合同
- 2024版廣告投放合同詳細(xì)條款
- 2024年無子離婚雙方共識(shí)合同范本
- 2024年高層住宅工程總包合同樣本
- 2024男方債務(wù)分擔(dān)與子女撫養(yǎng)權(quán)及贍養(yǎng)費(fèi)支付協(xié)議書9篇
- 2024-2025學(xué)年山東省德州市高中五校高二上學(xué)期期中考試地理試題(解析版)
- 2025年國務(wù)院發(fā)展研究中心信息中心招聘應(yīng)屆畢業(yè)生1人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 麻風(fēng)病病情分析
- 2024年公安機(jī)關(guān)理論考試題庫500道及參考答案
- 特殊情況施工的技術(shù)措施
- 《急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)》
- 建筑工地節(jié)前停工安全檢查表
- 鈑金與成型 其它典型成形
- 注塑件生產(chǎn)通用標(biāo)準(zhǔn)
- 八卦象數(shù)療法
- (完整版)視頻監(jiān)控系統(tǒng)用戶操作手冊(cè)
評(píng)論
0/150
提交評(píng)論