




已閱讀5頁,還剩961頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄 第1章Java環(huán)境及配置第2章Java基本語法第3章類和接口第4章JavaApplet第5章Java圖形處理第6章Java用戶界面技術(shù)第7章異常 事件和多線程機(jī)制第8章輸入輸出技術(shù)第9章Java數(shù)據(jù)庫技術(shù)第10章Java安全技術(shù)第11章Java網(wǎng)絡(luò)技術(shù) 一 第12章Java網(wǎng)絡(luò)技術(shù) 二 第13章Servlet技術(shù)第14章Java讀寫XML技術(shù) 第1章Java環(huán)境及配置 1 1Java概述1 2Java語言的特點(diǎn)1 3Java應(yīng)用分類1 4JDK包的下載與安裝1 5Java環(huán)境配置1 6例子程序習(xí)題 1 1Java概述 Java是一種編程語言 它提供了一個(gè)同時(shí)用于程序開發(fā) 應(yīng)用和部署的環(huán)境 Java語言主要定位于網(wǎng)絡(luò)編程 使得程序可以最大限度地利用網(wǎng)絡(luò)資源 1 2Java語言的特點(diǎn) 1 跨平臺(tái)性所謂的跨平臺(tái)性 是指軟件可以不受計(jì)算機(jī)硬件和操作系統(tǒng)的約束而在任意計(jì)算機(jī)環(huán)境下正常運(yùn)行 這是軟件發(fā)展的趨勢(shì)和編程人員追求的目標(biāo) 之所以這樣說 是因?yàn)橛?jì)算機(jī)硬件的種類繁多 操作系統(tǒng)也各不相同 不同的用戶和公司有自己不同的計(jì)算機(jī)環(huán)境偏好 而軟件為了能在這些不同的環(huán)境里正常運(yùn)行 就需要獨(dú)立于這些平臺(tái) 而在Java語言中 Java自帶的虛擬機(jī)很好地實(shí)現(xiàn)了跨平臺(tái)性 Java源程序代碼經(jīng)過編譯后生成二進(jìn)制的字節(jié)碼是與平臺(tái)無關(guān)的 但是可被Java虛擬機(jī)識(shí)別的一種機(jī)器碼指令 Java虛擬機(jī)提供了一個(gè)字節(jié)碼到底層硬件平臺(tái)及操作系統(tǒng)的屏障 使得Java語言具備跨平臺(tái)性 2 面向?qū)ο竺嫦驅(qū)ο笫侵敢詫?duì)象為基本粒度 其下包含屬性和方法 對(duì)象的說明用屬性表達(dá) 而通過使用方法來操作這個(gè)對(duì)象 面向?qū)ο蠹夹g(shù)使得應(yīng)用程序的開發(fā)變得簡(jiǎn)單易用 節(jié)省代碼 Java是一種面向?qū)ο蟮恼Z言 也繼承了面向?qū)ο蟮闹T多好處 如代碼擴(kuò)展 代碼復(fù)用等 3 安全性安全性可以分為四個(gè)層面 即語言級(jí)安全性 編譯時(shí)安全性 運(yùn)行時(shí)安全性 可執(zhí)行代碼安全性 語言級(jí)安全性指Java的數(shù)據(jù)結(jié)構(gòu)是完整的對(duì)象 這些封裝過的數(shù)據(jù)類型具有安全性 編譯時(shí)要進(jìn)行Java語言和語義的檢查 保證每個(gè)變量對(duì)應(yīng)一個(gè)相應(yīng)的值 編譯后生成Java類 運(yùn)行時(shí)Java類需要類加載器載入 并經(jīng)由字節(jié)碼校驗(yàn)器校驗(yàn)之后才可以運(yùn)行 Java類在網(wǎng)絡(luò)上使用時(shí) 對(duì)它的權(quán)限進(jìn)行了設(shè)置 保證了被訪問用戶的安全性 4 多線程多線程在操作系統(tǒng)中已得到了最成功的應(yīng)用 多線程是指允許一個(gè)應(yīng)用程序同時(shí)存在兩個(gè)或兩個(gè)以上的線程 用于支持事務(wù)并發(fā)和多任務(wù)處理 Java除了內(nèi)置的多線程技術(shù)之外 還定義了一些類 方法等來建立和管理用戶定義的多線程 5 簡(jiǎn)單易用Java源代碼的書寫不拘泥于特定的環(huán)境 可以用記事本 文本編輯器等編輯軟件來實(shí)現(xiàn) 然后將源文件進(jìn)行編譯 編譯通過后可直接運(yùn)行 通過調(diào)試則可得到想要的結(jié)果 1 3Java應(yīng)用分類 1 應(yīng)用程序典型的通用程序可以在具備Java運(yùn)行環(huán)境的設(shè)備中獨(dú)立運(yùn)行 它又分為 GUI應(yīng)用程序 即圖形用戶界面程序 可實(shí)現(xiàn)豐富的輸入界面和輸出顯示 命令行程序 無需界面 只需在命令行下運(yùn)行 運(yùn)行結(jié)果只在后臺(tái)發(fā)生變化 可以將輸出存放到文件中 嵌入式應(yīng)用程序 Java語言的平臺(tái)獨(dú)立性決定了它可以嵌入到不同的設(shè)備中 且只需具備必要的運(yùn)行環(huán)境即可 2 Servlets服務(wù)器端應(yīng)用程序服務(wù)器端的應(yīng)用程序用來收集客戶端的數(shù)據(jù)輸入 對(duì)數(shù)據(jù)進(jìn)行處理之后 返回相應(yīng)的響應(yīng)給客戶 它主要用來實(shí)現(xiàn)與客戶端的交互 3 Applets小應(yīng)用程序Applets應(yīng)用于網(wǎng)絡(luò)上 嵌入在HTML網(wǎng)頁中 支持Java的瀏覽器都可以對(duì)它進(jìn)行解釋并運(yùn)行 通常通過一個(gè)HTML標(biāo)簽來識(shí)別并運(yùn)行Applets 小應(yīng)用程序的類在服務(wù)器端 當(dāng)瀏覽器顯示網(wǎng)頁時(shí) 它隨之下載到本地 由本地的瀏覽器載入運(yùn)行 1 4JDK包的下載與安裝 JavaDevelopKit簡(jiǎn)稱為JDK 是Sun公司免費(fèi)發(fā)行的軟件包 可以從Sun網(wǎng)站免費(fèi)下載 也可以從其它國(guó)內(nèi)地址下載 JDK版本從1 02開始 目前版本發(fā)展到1 4 其中高級(jí)版本對(duì)低級(jí)版本實(shí)現(xiàn)向下兼容 運(yùn)用這個(gè)軟件包 就可以對(duì)Java源程序進(jìn)行編譯和運(yùn)行 本書中下載使用的JDK包為j2sdk 1 4 0 012 windows i586 exe 下載后雙擊圖標(biāo) 即可進(jìn)行安裝 默認(rèn)的安裝目錄為C j2sdk1 4 0 01 本書作者將安裝目錄改為D j2sdk1 4 0 01 1 5Java環(huán)境配置 JDK包安裝完成后 需要設(shè)置環(huán)境變量 用鼠標(biāo)右鍵單擊桌面上的圖標(biāo) 我的電腦 選擇 屬性 項(xiàng) 出現(xiàn)標(biāo)題為 系統(tǒng)特性 的對(duì)話框 點(diǎn)擊 高級(jí) 標(biāo)簽 可以看見有一個(gè) 環(huán)境變量 按鈕 如圖1 1所示 圖1 1 系統(tǒng)特性 對(duì)話框 單擊 環(huán)境變量 按鈕 可以看見本機(jī)環(huán)境變量 如圖1 2所示 上面為用戶變量 下面為系統(tǒng)變量 隨著操作系統(tǒng)或用戶環(huán)境的不同 變量名 值有所不同 這里需要修改三個(gè)用戶變量 include lib和path 分別將JDK包安裝之后的相應(yīng)路徑包含到這三個(gè)用戶變量中 圖1 2 環(huán)境變量 對(duì)話框 選中include變量 單擊 編輯 按鈕 彈出標(biāo)題為 編輯用戶變量 的對(duì)話框 如圖1 3所示 在變量值一欄的最后添加 D j2sdk1 4 0 01 include 表示與前面的各項(xiàng)隔開 后面的路徑是JDK包的安裝路徑下的include目錄 圖1 3為作者修改include變量的情況 注意你的安裝路徑可能與作者的有所不同 要以你的安裝路徑為基準(zhǔn)進(jìn)行修改 圖1 3編輯include變量 選中l(wèi)ib變量 單擊 編輯 按鈕 彈出標(biāo)題為 編輯用戶變量 的對(duì)話框 如圖1 4所示 在變量值一欄的最后添加 D j2sdk1 4 0 01 lib 表示與前面的各項(xiàng)隔開 后面的路徑是JDK包的安裝路徑下的lib目錄 圖1 4為作者修改lib變量的情況 注意你的安裝路徑可能與作者的有所不同 要以你的安裝路徑為基準(zhǔn)進(jìn)行修改 圖1 4編輯lib變量 選中path變量 單擊 編輯 按鈕 彈出標(biāo)題為 編輯用戶變量 的對(duì)話框 如圖1 5所示 在變量值一欄的最后添加 D j2sdk1 4 0 01 bin 表示與前面的各項(xiàng)隔開 后面的路徑是JDK包的安裝路徑下的bin目錄 圖1 5為作者修改path變量的情況 注意你的安裝路徑可能與作者的有所不同 同樣要以你的安裝路徑為基準(zhǔn)進(jìn)行修改 圖1 5編輯path變量 1 6例子程序 例1 1 源程序名稱為HelloWorld java 命令行提示符下輸出字符串 HelloWorld 源代碼如下 程序文件名稱為HelloWorld javapublicclassHelloWorld publicstaticvoidmain Stringargs System out println HelloWorld 用記事本或者專用的編輯工具如EditPlus等進(jìn)行編輯 并將文件存為HelloWorld java 建議使用像EditPlus這樣的編輯軟件 可使得代碼更加清晰且風(fēng)格良好 運(yùn)行 開始 菜單 程序 附件 命令提示符 載入命令行程序 在命令行狀態(tài)下 進(jìn)入源程序所在的目錄 圖1 6所示的例子程序的目錄在 E Work Java sample 下 然后鍵入命令 javacHelloWorld java 若編譯不通過 會(huì)產(chǎn)生錯(cuò)誤提示 若編譯通過 則沒有任何提示 同時(shí)進(jìn)入命令行等待狀態(tài) 如圖1 6所示 這時(shí) 命令行雖然沒有提示 但在源程序的路徑下生成一個(gè)新的文件為HelloWorld class 這個(gè) class文件就是編譯后生成的類文件 運(yùn)行此文件 需在命令行狀態(tài)中鍵入命令 javaHelloWorld 然后按回車鍵 此時(shí)程序就會(huì)運(yùn)行并輸出 HelloWorld 輸出完畢 立即退出程序 進(jìn)入命令行等待狀態(tài) 如圖1 7所示 圖1 6編譯源程序HelloWorld 圖1 7運(yùn)行HelloWorld應(yīng)用程序 這里用到的命令Javac和Java都是JDK軟件包自帶的 從JDK安裝路徑的bin目錄下可以看到j(luò)avac exe 這是編譯程序 源程序編譯通過后就生成 class文件 而Java exe就是載入類的運(yùn)行程序 運(yùn)行時(shí)根據(jù)源程序的指令要求產(chǎn)生正確的輸出或結(jié)果 如果沒有進(jìn)行環(huán)境配置 直接編譯或者運(yùn)行Java源程序 系統(tǒng)會(huì)提示找不到這些命令 所以必須進(jìn)行環(huán)境配置后再使用 例1 2 小應(yīng)用程序的例子 輸出 HelloWorld 如圖1 8所示 源程序代碼如下 程序文件名稱為HelloApplet javaimportjava awt Graphics importjava applet Applet publicclassHelloAppletextendsApplet publicvoidpaint Graphicsg g drawString HelloWorld 50 25 小應(yīng)用程序代碼書寫和編譯完成后 無法獨(dú)立運(yùn)行 需要一個(gè)載體或者容器 下面的HTML網(wǎng)頁代碼就是小應(yīng)用程序載入的容器 HTMLTestPage HelloAppletwillappearbelowinaJavaenabledbrowser 圖1 8Applet顯示 HelloWorld 習(xí)題 1 簡(jiǎn)述Java的特點(diǎn) 2 簡(jiǎn)述Java的分類情況 3 進(jìn)行Java環(huán)境的安裝和配置 4 編寫應(yīng)用程序 屏幕上輸出 歡迎來到Java世界 5 編寫Applet 輸出 歡迎來到Java世界 第2章Java基本語法 2 1Java程序的構(gòu)成2 2數(shù)據(jù)類型 變量和常量2 3運(yùn)算符和表達(dá)式2 4流程控制2 5數(shù)組的使用習(xí)題 2 1Java程序的構(gòu)成 2 1 1邏輯構(gòu)成Java源程序邏輯構(gòu)成分為兩大部分 程序頭包的引用和類的定義 1 程序頭包的引用主要是指引用JDK軟件包自帶的包 也可以是自己定義的類 引用之后程序體中就可以自由應(yīng)用包中的類的方法和屬性等 2 類的定義Java源程序中可以有多個(gè)類的定義 但必須有一個(gè)主類 這個(gè)主類是Java程序運(yùn)行的入口點(diǎn) 在應(yīng)用程序中 主類為包含main方法的類 在Applet中 主類為用戶自定義的系統(tǒng)Applet類的擴(kuò)展類 在Java源程序中 主類的名字同文件名一致 類的定義又包括類頭聲明和類體定義 類體中包括屬性聲明和方法描述 下面來看一個(gè)例子 其中斜體表示的語句行為主類類頭 主類類頭下面從大括號(hào) 開始到 結(jié)束的部分稱為主類類體 例2 1 下面是一個(gè)應(yīng)用程序 也是一個(gè)Applet 既可以在命令行下運(yùn)行 也可以嵌入到HTML網(wǎng)頁中用appletviewer命令運(yùn)行 運(yùn)行時(shí)在界面上的第一個(gè)文本框中輸入你的名字 按回車鍵后 在第二個(gè)文本框中會(huì)顯示 XXX 歡迎你來到Java世界 運(yùn)行結(jié)果如圖2 1所示 actionPerformed方法 main主方法 圖2 1程序界面 2 1 2物理構(gòu)成Java源程序物理上由三部分構(gòu)成 分別為語句 塊和空白 1 語句指一行以分號(hào) 結(jié)束的語句 2 塊指用括號(hào)對(duì) 界定的語句序列 塊可以嵌套使用 3 空白指語句之間 塊內(nèi)部或者塊之間的空白行 空白不影響Java源程序的編譯和運(yùn)行 適當(dāng)?shù)剡\(yùn)用空白 可以形成良好的代碼風(fēng)格 在例1 1中 LabellblName TextFieldtxtName TextFieldtxtDisp 都是語句 而 lblName newLabel 請(qǐng)輸入您的名字 txtName newTextField 8 txtDisp newTextField 20 add lblName add txtName add txtDisp txtName addActionListener this 是塊 語句之間 塊之間或塊內(nèi)部的空行都為空白 2 1 3注釋語句注釋語句主要用來進(jìn)行一些說明 或者標(biāo)記一些無用的程序語句 有兩種注釋方法 行注釋為以 開始的行 塊注釋以 開始和 結(jié)束 Java編譯器忽略注釋后的程序語句或說明 例如 下面的語句就是注釋語句用來說明程序文件名稱的 程序文件名稱為WelcomeApplet java上述的語句注釋可以更改為 程序文件名稱為WelcomeApplet java 或 程序文件名稱為WelcomeApplet java 2 1 4標(biāo)識(shí)符 關(guān)鍵字和轉(zhuǎn)義符在Java語言中 標(biāo)識(shí)符是賦予變量 類和方法等的名稱 標(biāo)識(shí)符由編程者自己指定 但需要遵循一定的語法規(guī)范 1 標(biāo)識(shí)符由字母 數(shù)字 下劃線 美元符號(hào) 組成 但美元符號(hào)用得較少 2 標(biāo)識(shí)符從一個(gè)字母 下劃線或美元符號(hào)開始 3 Java語言中 標(biāo)識(shí)符大小寫敏感 必須區(qū)別對(duì)待 4 標(biāo)識(shí)符沒有最大長(zhǎng)度的限制 但最好表達(dá)特定的意思 5 標(biāo)識(shí)符定義不能是關(guān)鍵字 關(guān)鍵字又稱保留字 是指Java語言中自帶的用于標(biāo)志數(shù)據(jù)類型名或者程序構(gòu)造名等的標(biāo)識(shí)符 如public double等 轉(zhuǎn)義符是指一些有特殊含義的 很難用一般方式表達(dá)的字符 如回車 換行等 所有的轉(zhuǎn)義符以反斜線 開頭 后面跟著一個(gè)字符來表示某個(gè)特定的轉(zhuǎn)義符 如表2 1所示 表2 1轉(zhuǎn)義符 2 2數(shù)據(jù)類型 變量和常量 2 2 1數(shù)據(jù)類型Java編程語言定義了八種基本的數(shù)據(jù)類型 見表2 2 共分為四類 整數(shù)類 byte short int long 文本類 char 浮點(diǎn)類 double float 和邏輯類 boolean 表2 2Java的數(shù)據(jù)類型 1 整數(shù)類 1 采用三種進(jìn)制 十進(jìn)制 八進(jìn)制和十六進(jìn)制 2 十進(jìn)制值是2 077 首位的0表示這是一個(gè)八進(jìn)制的數(shù)值 0 xBAAC 首位的0 x表示這是一個(gè)十六進(jìn)制的數(shù)值 2 具有缺省int 3 用字母 L 和 l 定義long 4 所有Java編程語言中的整數(shù)類型都是帶符號(hào)的數(shù)字 2 文本類 1 代表一個(gè)16bitUnicode字符 2 必須包含用單引號(hào) 引用的文字 3 使用下列符號(hào) a 一個(gè)字符 t 一個(gè)制表符 u 一個(gè)特殊的Unicode字符 應(yīng)嚴(yán)格使用四個(gè)十六進(jìn)制數(shù)進(jìn)行替換 3 浮點(diǎn)類默認(rèn)為double類型 如果一個(gè)數(shù)字包括小數(shù)點(diǎn)或指數(shù)部分 或者在數(shù)字后帶有字母F或f float D或d double 則該數(shù)字為浮點(diǎn)數(shù) 4 邏輯類boolean數(shù)據(jù)類型有兩種值 true和false 例如 booleanflag true 上述語句聲明變量flag為boolean類型 它被賦予的值為true 2 2 2變量與常量常量是指整個(gè)運(yùn)行過程中不再發(fā)生變化的量 例如數(shù)學(xué)中的 3 1415 在程序中需要設(shè)置成常量 而變量是指程序的運(yùn)行過程中發(fā)生變化的量 通常用來存儲(chǔ)中間結(jié)果 或者輸出臨時(shí)值 變量的聲明也指變量的創(chuàng)建 執(zhí)行變量聲明語句時(shí) 系統(tǒng)根據(jù)變量的數(shù)據(jù)類型在內(nèi)存中開辟相應(yīng)的存儲(chǔ)空間并賦予初始值 變量有一個(gè)作用范圍 超出它聲明語句所在的塊就無效 下面看一個(gè)使用各種類型變量聲明并改變的示例 程序中pi為常量 s1 i1 l1 ch1 f1 d1 b1為全局變量 可以在方法change中發(fā)生改變 然后在方法main中輸出 而s2 i2 l2 ch2 f2 d2 b2是方法main的局部變量 它們的作用范圍只局限于方法main中 例2 2 測(cè)試不同數(shù)據(jù)類型的變量 程序輸出如圖2 2所示 源程序代碼如下 程序文件名稱為SetVariable javapublicclassSetVariable 全局變量 staticdoublepi 3 141592654 數(shù)學(xué)常量staticshorts1 staticinti1 staticlongl1 staticcharch1 staticfloatf1 staticdoubled1 staticbooleanb1 publicstaticvoidmain Stringargs 局部變量shorts2 35 inti2 32 longl2 34555L charch2 A floatf2 897 89F doubled2 34 345 booleanb2 false 輸出常量System out println 數(shù)學(xué)常量pi pi 輸出局部變量 System out println 局部變量 System out println 短整型變量s2 s2 System out println 整型變量i2 i2 System out println 長(zhǎng)整型變量l2 l2 System out println 字符變量ch2 ch2 System out println 浮點(diǎn)數(shù)類型f2 f2 System out println 雙精度型變量d2 d2 System out println 布爾型變量b2 b2 調(diào)用方法修改全局變量的值 change 輸出全局變量的值System out println 全局變量 System out println 短整型變量s1 s1 System out println 整型變量i1 i1 System out println 長(zhǎng)整型變量l1 l1 System out println 字符變量ch1 ch1 System out println 浮點(diǎn)數(shù)類型f1 f1 System out println 雙精度型變量d1 d1 System out println 布爾型變量b1 b1 方法 修改全局變量的值publicstaticvoidchange s1 125 i1 88 l1 987654321L ch1 B f1 3 2590F d1 1 04E 5 b1 true 圖2 2變量輸出結(jié)果 2 3運(yùn)算符和表達(dá)式 Java常用的運(yùn)算符分為五類 算術(shù)運(yùn)算符 賦值運(yùn)算符 關(guān)系運(yùn)算符 布爾邏輯運(yùn)算符 位運(yùn)算符 位運(yùn)算符除了簡(jiǎn)單的按位操作外 還有移位操作 按位操作返回布爾值 表達(dá)式是由常量 變量 對(duì)象 方法調(diào)用和操作符組成的式子 表達(dá)式必須符合一定的規(guī)范 才可被系統(tǒng)理解 編譯和運(yùn)行 表達(dá)式的值就是對(duì)表達(dá)式自身運(yùn)算后得到的結(jié)果 根據(jù)運(yùn)算符的不同 表達(dá)式相應(yīng)地分為以下幾類 算術(shù)表達(dá)式 關(guān)系表達(dá)式 邏輯表達(dá)式 賦值表達(dá)式 這些都屬于數(shù)值表達(dá)式 2 3 1算術(shù)運(yùn)算符及算術(shù)表達(dá)式Java中常用的算術(shù)運(yùn)算符如下 加運(yùn)算符 減運(yùn)算符 乘運(yùn)算符 除運(yùn)算符 取模運(yùn)算 除運(yùn)算的余數(shù) 增量運(yùn)算符 減量運(yùn)算符 例2 3 測(cè)試運(yùn)算符及表達(dá)式 程序輸出如圖2 3所示 源程序代碼如下 程序文件名稱為NumberOper javapublicclassNumberOper publicstaticvoidmain Stringargs 變量初始化inta 30 intb 20 定義結(jié)果變量intr1 r2 r3 r4 r5 r6 r7 r8 r9 計(jì)算結(jié)果r1 a b r2 a b r3 a b r4 a b r5 a b r6 a r7 b r8 a r9 b 輸出結(jié)果System out println a a b b a b的值System out println a b r1 System out println a b r2 System out println a b r3 System out println a b r4 System out println a b r5 System out println a r6 System out println b r7 System out println a r8 System out println b r9 圖2 3程序輸出結(jié)果 2 3 2關(guān)系運(yùn)算符關(guān)系運(yùn)算符用于比較兩個(gè)數(shù)據(jù)之間的大小關(guān)系 關(guān)系運(yùn)算表達(dá)式返回布爾值 即 真 或 假 Java中的常用關(guān)系運(yùn)算符如下 等于 不等于 大于 大于等于 小于等于 例2 4 編寫程序 測(cè)試關(guān)系運(yùn)算符及其表達(dá)式 程序輸出如圖2 4所示 源程序代碼如下 程序文件名稱為TestRelation javapublicclassTestRelation publicstaticvoidmain Stringargs 變量初始化inta 30 intb 20 定義結(jié)果變量booleanr1 r2 r3 r4 r5 r6 計(jì)算結(jié)果 r1 a b r2 a b r3 a b r4 a b r6 ab r3 System out println a b r5 System out println a b r6 圖2 4程序輸出結(jié)果 2 3 3布爾邏輯運(yùn)算符 表2 3布爾運(yùn)算符及規(guī)則 圖2 3為布爾邏輯運(yùn)算符及其規(guī)則示例等 其中簡(jiǎn)潔與和簡(jiǎn)潔或的執(zhí)行結(jié)果分別與非簡(jiǎn)潔與和非簡(jiǎn)潔或的執(zhí)行結(jié)果是一致的 不同在于簡(jiǎn)潔與檢測(cè)出符號(hào)左端的值為假時(shí) 不再判斷符號(hào)右端的值 直接將運(yùn)算結(jié)果置為假 而簡(jiǎn)潔或與非簡(jiǎn)潔或的不同在于簡(jiǎn)潔或檢測(cè)出符號(hào)左端為真時(shí) 不再判斷符號(hào)右端的值 直接將運(yùn)算結(jié)果置為真 例如 Booleana false Booleanb true a b檢測(cè)到a為假 則無需判斷b的值 直接將值置為假 而b a時(shí)檢測(cè)到b為真 則無需判斷a的值 直接將值置為真 例2 5 測(cè)試布爾表達(dá)式 程序輸出結(jié)果如圖2 5所示 源程序代碼如下 程序文件名稱為TestLogic javapublicclassTestLogic publicstaticvoidmain Stringargs 變量初始化booleana false booleanb true 定義結(jié)果變量booleanr1 r2 r3 r4 r5 r6 計(jì)算結(jié)果 r1 a r2 a 圖2 5程序輸出結(jié)果 2 3 4位運(yùn)算符Java中的常用位運(yùn)算符如下 位求反 按位與 按位或 按位異或 右移 不帶符號(hào)右移右移運(yùn)算符對(duì)應(yīng)的表達(dá)式為x a 運(yùn)算的結(jié)果是操作數(shù)x被2的a次方來除 左移運(yùn)算符對(duì)應(yīng)的表達(dá)式為x a 運(yùn)算的結(jié)果是操作數(shù)x乘以2的a次方 例2 6 測(cè)試位運(yùn)算符 程序輸出結(jié)果如圖2 6所示 源程序代碼如下 程序文件名稱為TestBit javapublicclassTestBit publicstaticvoidmain Stringargs 變量初始化inta 36 intb 2 定義結(jié)果變量intr1 r2 計(jì)算結(jié)果r1 a b r2 a b r1 System out println a b r2 圖2 6程序輸出結(jié)果 2 3 5賦值運(yùn)算符賦值運(yùn)算符分為簡(jiǎn)單運(yùn)算符和復(fù)雜運(yùn)算符 簡(jiǎn)單運(yùn)算符指 而復(fù)雜運(yùn)算符是指算術(shù)運(yùn)算符 邏輯運(yùn)算符 位運(yùn)算符中的雙目運(yùn)算符后面再加上 表2 4列出Java常用的賦值運(yùn)算符及其等價(jià)表達(dá)式 表2 4賦值運(yùn)算符及其等價(jià)表達(dá)式 2 3 6其它操作符及其表達(dá)式三目運(yùn)算符 相當(dāng)于條件判斷 表達(dá)式x y z用于判斷x是否為真 如果為真 表達(dá)式的值為y 否則表達(dá)式的值為z 例如 intx 5 inta x 3 5 3 則a的值為5 如果x 2 則a的值為3 對(duì)象運(yùn)算符 instanceof 用來判斷一個(gè)對(duì)象是否屬于某個(gè)指定的類或其子類的實(shí)例 如果是 返回真 true 否則返回假 false 例如 booleanb userObjectinstanceofApplet用來判斷userObject類是否是Applet類的實(shí)例 2 3 7優(yōu)先級(jí) 表2 5運(yùn)算符優(yōu)先級(jí) 2 4流程控制 流程控制分為三種基本結(jié)構(gòu) 順序結(jié)構(gòu) 分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu) 順序結(jié)構(gòu)是指命令行順序執(zhí)行 這是最常見的一個(gè)格式 分支結(jié)構(gòu)是一種選擇結(jié)構(gòu) 根據(jù)條件的值選擇不同的執(zhí)行流程 可以得到不同的結(jié)果 分支結(jié)構(gòu)包括單分支語句 if else語句 和多分支語句 switch語句 循環(huán)結(jié)構(gòu)是指對(duì)于一些重復(fù)執(zhí)行的語句 用戶指定條件或次數(shù) 由機(jī)器自動(dòng)識(shí)別執(zhí)行 循環(huán)結(jié)構(gòu)包括次數(shù)循環(huán)語句 for語句 和條件循環(huán)語句 while語句 2 4 1分支語句分支語句分為兩類 單分支語句和多選語句 1 if else語句if else語句的基本格式為 if 布爾表達(dá)式 語句或塊1 else 語句或塊2 其中 1 布爾表達(dá)式返回值為true或false 2 如果為true 則執(zhí)行語句或塊1 執(zhí)行完畢跳出if else語句 3 如果為false 則跳過語句或塊1 然后執(zhí)行else下的語句或塊2 例2 7 測(cè)試if else語句 如果x 10 則輸出x的值 并提示結(jié)果正確 否則輸出x 10 提示結(jié)果不正確 程序輸出結(jié)果如圖2 7所示 源程序代碼如下 程序文件名稱為TestIf javapublicclassTestIf 聲明全局變量xstaticintx publicstaticvoidmain Stringargs x 12 if x 10 System out println x x 結(jié)果正確 elseSystem out println x 10 結(jié)果不正確 change System out println 修改x的值之后 if x 10 System out println x x 結(jié)果正確 elseSystem out println x 10 結(jié)果不正確 change方法 修改x的值publicstaticvoidchange x 5 圖2 7程序輸出結(jié)果 2 switch語句switch語句的基本格式為 switch 表達(dá)式1 case表達(dá)式2 語句或塊2 break case表達(dá)式3 語句或塊3 break case表達(dá)式4 語句或塊4 break default 語句或塊5 break 其中 1 表達(dá)式1的值必須與整型兼容 2 case分支要執(zhí)行的程序語句 3 表達(dá)式2 3 4是可能出現(xiàn)的值 4 不同的case分支對(duì)應(yīng)著不同的語句或塊序列 5 break表示跳出這一分支 例2 8 測(cè)試switch語句 當(dāng)x 1 2 3時(shí) 分別打印1 2 3 x不為這三個(gè)值時(shí) 打印x的值 程序輸出結(jié)果如圖2 8所示 源程序代碼如下 程序文件名稱為TestSwitch javapublicclassTestSwitch publicstaticvoidmain Stringargs 聲明變量xintx x 12 System out println x 12時(shí)打印的值 choose x x 3 System out println x 3時(shí)打印的值 choose x choose方法 switch語句結(jié)構(gòu)publicstaticvoidchoose intx switch x case1 System out println 1 break case2 System out println 2 break case3 System out println 3 break default System out println x 圖2 8程序輸出結(jié)果 2 4 2for循環(huán)語句for循環(huán)語句實(shí)現(xiàn)已知次數(shù)的循環(huán) 其基本格式為 for 初始化表達(dá)式 測(cè)試表達(dá)式 步長(zhǎng) 語句或塊 其執(zhí)行順序如下 1 首先運(yùn)行初始化表達(dá)式 2 然后計(jì)算測(cè)試表達(dá)式 如果表達(dá)式為true 執(zhí)行語句或塊 如果表達(dá)式為false 退出for循環(huán) 3 最后執(zhí)行步長(zhǎng) 例2 9 用for循環(huán)統(tǒng)計(jì)1 100 包括100 之間數(shù)的總和 程序輸出結(jié)果如圖2 9所示 源程序代碼如下 程序文件名稱為TestFor javapublicclassTestFor publicstaticvoidmain Stringargs intsum 0 for inti 1 i 100 i sum i System out println 1到100 包括100 的數(shù)的總和為 sum 圖2 9程序輸出結(jié)果 2 4 3while循環(huán)語句while循環(huán)語句實(shí)現(xiàn)受條件控制的循環(huán) 其基本格式為 while 布爾表達(dá)式 語句或塊 當(dāng)布爾表達(dá)式為true時(shí) 執(zhí)行語句或塊 否則跳出while循環(huán) 上面for循環(huán)語句的例子改為while語句后如下所示 intsum 0 inti 1 while i 100 sum i i System out println 1到100 包括100 的數(shù)的總和為 sum 2 4 4do語句do語句實(shí)現(xiàn)受條件控制的循環(huán) 其基本格式為 do 語句或塊 while 布爾表達(dá)式 先執(zhí)行語句或塊 然后再判斷布爾表達(dá)式 與while語句不同 當(dāng)布爾表達(dá)式一次都不為true時(shí) while語句一開始判斷就跳出循環(huán) 不執(zhí)行語句或塊 而在do語句中則要執(zhí)行一次 上面那個(gè)例子改為do循環(huán)為 intsum 0 inti 1 do sum i i while i 100 System out println 1到100 包括100 的數(shù)的總和為 sum 2 5數(shù)組的使用 2 5 1數(shù)組聲明數(shù)組的定義如下 1 首先是一個(gè)對(duì)象 2 存放相同的數(shù)據(jù)類型 可以是原始數(shù)據(jù)類型或類類型 3 所有的數(shù)組下標(biāo)默認(rèn)從0開始 而且訪問時(shí)不可超出定義的上限 否則會(huì)產(chǎn)生越界錯(cuò)誤 數(shù)組聲明時(shí)實(shí)際是創(chuàng)建一個(gè)引用 通過代表引用的這個(gè)名字來引用數(shù)組 數(shù)組聲明格式如下 數(shù)據(jù)類型標(biāo)識(shí)符 例如 inta 聲明一個(gè)數(shù)據(jù)類型為整型的數(shù)組apencilb 聲明一個(gè)數(shù)據(jù)類型為pencil類的數(shù)組b 2 5 2創(chuàng)建數(shù)組由于數(shù)組是一個(gè)對(duì)象 所以可以使用關(guān)鍵字new來創(chuàng)建一個(gè)數(shù)組 例如 a newint 10 創(chuàng)建存儲(chǔ)10個(gè)整型數(shù)據(jù)的數(shù)組ab newpencil 20 創(chuàng)建存儲(chǔ)20個(gè)pencil類數(shù)據(jù)的數(shù)組b數(shù)組創(chuàng)建時(shí) 每個(gè)元素都按它所存放數(shù)據(jù)類型的缺省值被初始化 如上面數(shù)組a的值被初始化為0 也可以進(jìn)行顯式初始化 在Java編程語言中 為了保證系統(tǒng)的安全 所有的變量在使用之前必須是初始化的 如果未初始化 編譯時(shí)會(huì)提示出錯(cuò) 有兩種初始化數(shù)組的方式 分別如下 1 創(chuàng)建數(shù)組后 對(duì)每個(gè)元素進(jìn)行賦值 a 0 5 a 1 4 a 9 10 2 直接在聲明的時(shí)候就說明其值 例如 inta 4 5 1 3 4 20 2 說明了一個(gè)長(zhǎng)度為7的一維數(shù)組 例2 10 編寫程序測(cè)試數(shù)組 程序輸出結(jié)果如圖2 10所示 源程序代碼如下 程序文件名稱為TestArray javapublicclassTestArray publicstaticvoidmain Stringargs 聲明數(shù)組inta charb 創(chuàng)建數(shù)組 a newint 3 b newchar 2 數(shù)組初始化for inti 0 i 3 i a i i 3 b 0 a b 1 b 快速初始化數(shù)組intc 0 1 3 2 3 輸出結(jié)果System out print 數(shù)組a n for inti 0 i 2 i System out print b i System out print n數(shù)組c n for inti 0 i 3 i System out print c i 圖2 10程序輸出結(jié)果 習(xí)題 1 給出下列表達(dá)式的值 1 3 4 2 4 48 8 4 2 4 2 4 0 2 4 22 編寫程序 統(tǒng)計(jì)課程編號(hào)為1001 1002 2001和3001的平均成績(jī)并輸出 學(xué)生成績(jī)表如圖2 11所示 每個(gè)課程編號(hào)的成績(jī)用數(shù)組存儲(chǔ) 讀取時(shí)循環(huán)操作 圖2 11習(xí)題2 2的成績(jī)表 3 根據(jù)上題得出的考生平均成績(jī)進(jìn)行判斷 如果在90分以上 屏幕上輸出 課程編號(hào)為XXXX的考生平均成績(jī)?yōu)閮?yōu) 在80 90分之間輸出 課程編號(hào)為XXXX的考生平均成績(jī)?yōu)榱?在70 80分之間輸出 課程編號(hào)為XXXX的考生平均成績(jī)?yōu)橹?在60 70分之間輸出 課程編號(hào)為XXXX的考生平均成績(jī)?yōu)榧案?60分以下輸出 課程編號(hào)為XXXX的考生平均成績(jī)?yōu)椴患案?4 編寫程序 用數(shù)組實(shí)現(xiàn)乘法小九九的存儲(chǔ)和輸出 提示 采用多個(gè)一維數(shù)組 第3章類和接口 3 1類3 2接口3 3常用數(shù)據(jù)結(jié)構(gòu)及類習(xí)題 3 1類 3 1 1類的定義和聲明Java編程語言是面向?qū)ο蟮?處理的最小的完整單元為對(duì)象 而現(xiàn)實(shí)生活中具有共同特性的對(duì)象的抽象就稱之為類 類由類聲明和類體構(gòu)成 類體又由變量和方法構(gòu)成 下面給出一個(gè)例子來看一下類的構(gòu)成 例3 1 自定義一個(gè)apple類 在主類SetApple中創(chuàng)建實(shí)例并調(diào)用方法 輸出結(jié)果如圖3 1所示 源程序代碼如下 程序文件名為SetApple javapublicclassSetApple publicstaticvoidmain String args applea newapple 創(chuàng)建apple類a appleweight 0 5 實(shí)例變量賦值System out println 蘋果的重量為1兩 System out println a bite 調(diào)用實(shí)例方法a appleweight 5 System out println 蘋果的重量為5兩 System out println a bite 自定義類classapple 屬性longapplecolor 對(duì)應(yīng)蘋果的顏色doubleappleweight 蘋果的重量booleaneatup 是否吃完 類方法publicbooleanbite if appleweight 1 System out println 蘋果已經(jīng)吃完了 哈哈 eatup true else System out println 蘋果吃不下了 eatup false returneatup 圖3 1自定義類的應(yīng)用 1 類聲明的基本格式訪問說明符class類名extends超類名implements接口名其中 1 訪問說明符為public或者缺省 public用來聲明該類為公有類 可以被別的對(duì)象訪問 聲明為公有的類存儲(chǔ)的文件名為類名 2 類名 用戶自定義的標(biāo)識(shí)符 用來標(biāo)志這個(gè)類的引用 3 超類名 是指已經(jīng)存在的類 可以是用戶已經(jīng)定義的 也可以是系統(tǒng)類 4 接口名 即后面講到的接口 例如 publicclassHelloAppletextendsApplet訪問說明符為public 類名HelloApplet 擴(kuò)展類為JDK包自帶的java applet Applet類 由于public的存在 所以文件名必須存為HelloApplet java 同類名保持一致 2 類體類體包括成員變量和方法 1 成員變量 指類的一些屬性定義 標(biāo)志類的靜態(tài)特征 它的基本格式如下 訪問說明符數(shù)據(jù)類型變量名其中 訪問說明符有public private和protected三種 public 省略時(shí)默認(rèn)為公有類型 可以由外部對(duì)象進(jìn)行訪問 private 私有類型 只允許在類內(nèi)部的方法中使用 若從外部訪問 必須通過構(gòu)造函數(shù)間接進(jìn)行 Protected 受保護(hù)類型 子類訪問受到限制 數(shù)據(jù)類型包括基本類型以及用戶自定義的擴(kuò)展類型 2 方法 是類的操作定義 標(biāo)志類的動(dòng)態(tài)特征 它的基本格式如下 訪問說明符數(shù)據(jù)類型方法名 數(shù)據(jù)類型1變量名1 數(shù)據(jù)類型2變量名2 其中 訪問說明符為public private和protected 其使用方法與成員變量訪問說明符的使用方法一致 數(shù)據(jù)類型 包括基本數(shù)據(jù)類型和用戶自定義的擴(kuò)展類型 數(shù)據(jù)類型為參數(shù) 3 創(chuàng)建類的實(shí)例使用關(guān)鍵字new進(jìn)行創(chuàng)建 例如 HelloApplethp newHelloApplet 例3 1中 自定義類apple 訪問標(biāo)識(shí)符缺省 定義三個(gè)屬性 longapplecolor 對(duì)應(yīng)蘋果的顏色doubleappleweight 蘋果的重量booleaneatup 是否吃完 一個(gè)方法為 publicbooleanbite 類方法 公有類SetApplet中引用自定義類 首先創(chuàng)建類的實(shí)例 applea newapple 其次賦初值 a appleweight 0 5 實(shí)例變量賦值最后調(diào)用它的方法 System out println a bite 調(diào)用實(shí)例方法 3 1 2類的單繼承性Java編程語言中允許用extends關(guān)鍵字從一個(gè)類擴(kuò)展出一個(gè)新類 新類繼承超類的成員變量和方法 并可以覆蓋方法 例3 2 測(cè)試類的單繼承性 程序輸出結(jié)果如圖3 2所示 源程序代碼如下 程序文件名TestExtend javapublicclassTestExtendextendsEmployee publicstaticvoidmain String args System out println 覆蓋的方法調(diào)用 getSalary 王一 500 System out println 繼承的方法調(diào)用 getSalary2 王一 500 System out println 覆蓋的方法調(diào)用 getSalary 王飛 10000 System out println 繼承的方法調(diào)用 getSalary2 王飛 10000 publicstaticStringgetSalary Stringname intsalary Stringstr if salary 5000 str 名字 name Salary salary elsestr 名字 name Salary 低于5000 returnstr classEmployee publicStringname 名字publicintsalary 薪水publicstaticStringgetSalary Stringname intsalary Stringstr str 名字 name Salary salary returnstr publicstaticStringgetSalary2 Stringname intsalary Stringstr str 名字 name Salary salary returnstr 程序中定義了父類Employee類 它有兩個(gè)方法getSalary和getSalary2 方法體的實(shí)現(xiàn)都是一致的 都為輸出名字和薪水的值 在TextExtend主類中覆蓋了getSalary方法 方法體重新定義為薪水低于5000時(shí)并不輸出薪水的值而是輸出 低于5000 用于和繼承的getSalary2方法進(jìn)行比較 由圖3 2可以看出覆蓋的方法按主程序中重定義的方法調(diào)用 而繼承的方法直接調(diào)用父類中的方法 圖3 2測(cè)試單繼承性程序的輸出結(jié)果 3 1 3特殊變量類中有兩個(gè)特殊變量super和this 1 super類聲明中用關(guān)鍵字extends擴(kuò)展了其超類之后 super用在擴(kuò)展類中引用其超類中的成員變量 例3 3 使用super變量 輸出結(jié)果如圖3 3所示 源程序代碼如下 程序文件名為UseSuper javapublicclassUseSuper publicstaticvoidmain String args Managerm newManager m name 王飛 m salary 10000 m department 業(yè)務(wù)部 System out println m getSalary classEmployee publicStringname 名字publicintsalary 薪水 方法publicStringgetSalary Stringstr str 名字 name nSalary salary returnstr classManagerextendsEmployee publicStringdepartment 部門 方法publicStringgetSalary 使用super變量調(diào)用超類的方法returnsuper getSalary nDepartment department 圖3 3測(cè)試super變量的輸出 2 thisthis變量指向當(dāng)前對(duì)象或?qū)嵗?str 名字 name nSalary salary 上例中的語句可以換成下面的語句 str 名字 this name nSalary this salary 這兩者是等同的 因?yàn)樵贘ava編程語言中 系統(tǒng)自動(dòng)將this關(guān)鍵字與當(dāng)前對(duì)象的變量相關(guān)聯(lián) 但有一種情況例外 就是當(dāng)在某些完全分離的類中調(diào)用一個(gè)方法并將當(dāng)前對(duì)象的一個(gè)引用作為參數(shù)傳遞時(shí) 例如 Dayd newDay this 3 1 4構(gòu)造函數(shù)類中的構(gòu)造函數(shù)用來初始化一個(gè)類 構(gòu)造函數(shù)為公有類型 無返回值 用來從類實(shí)例中訪問類時(shí)初始化此類的私有變量 例3 4 基于例3 3將公有變量改成私有變量之后 增加兩個(gè)構(gòu)造函數(shù) 訪問通過外部調(diào)用構(gòu)造函數(shù)實(shí)現(xiàn)初始化賦值 得到如圖3 3所示的結(jié)果 程序文件名為UseConstruct javapublicclassUseConstruct publicstaticvoidmain String args Managerm newManager 王飛 10000 業(yè)務(wù)部 初始化賦值System out println m getSalary classEmployee privateStringname 名字privateintsalary 薪水 構(gòu)造函數(shù)publicEmployee String name int salary name name salary salary publicStringgetSalary Stringstr str 名字 name nSalary salary returnstr classManagerextendsEmployee privateStringdepartment 構(gòu)造函數(shù)publicManager String name int salary String department super name salary department department publicStringgetSalary returnsuper getSalary nDepartment department 3 1 5包計(jì)算機(jī)操作系統(tǒng)使用文件夾或者目錄來存放相關(guān)或者同類的文檔 在Java編程語言中 提供了一個(gè)包的概念來組織相關(guān)的類 包在物理上就是一個(gè)文件夾 邏輯上代表一個(gè)分類概念 包就是指一組類 例如一個(gè)名叫Company的包 可以包含一組類 如Employee 雇員 Manager 管理者 和Department 部門 等 聲明包的基本格式如下 Package包名 其中 Package為關(guān)鍵字 包名為標(biāo)識(shí)符 使用包時(shí)的注意事項(xiàng)如下 1 Package語句要作為程序非注釋語句的第一行語句 2 包內(nèi)的類名惟一 3 引用包中的類時(shí) 使用import語句 import語句的基本格式為import包名 類名 其中import為關(guān)鍵字 包名和類名之間用圓點(diǎn) 隔開 例3 5 編寫程序測(cè)試包 先建立一個(gè)Company文件夾 然后建立名為Manager java的類文件 源程序代碼如下 程序文件名為Manager javapackageCompany 聲明包名CompanyclassEmployee publicStringname 名字publicintsalary 薪水publicStringgetSalary Stringstr str 名字 name nSalary salary returnstr publicclassManagerextendsEmployee publicStringdepartment 部門publicStringgetSalary returnsuper getSalary nDepartment department 對(duì)此文件進(jìn)行編譯 生成類文件Manager class 在原目錄建立源程序文件UsePackage java 源程序代碼如下 程序文件名UsePackage javaimportCompany Manager 引入包中的類publicclassUsePackage publicstaticvoidmain String args Managerm newManager m name 王飛 m salary 10000 m department 業(yè)務(wù)部 System out
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育組織人力資源與體育俱樂部治理結(jié)構(gòu)優(yōu)化考核試卷
- 交通規(guī)劃與交通基礎(chǔ)設(shè)施可持續(xù)發(fā)展評(píng)估體系構(gòu)建考核試卷
- 殺菌工藝參數(shù)優(yōu)化考核試卷
- 醫(yī)療設(shè)備能源消耗與醫(yī)療成本的關(guān)系考核試卷
- 2025年中國(guó)PET眼藥水瓶數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025年中國(guó)A4打印紙數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)ADT托架數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)2-甲硫基吡嗪數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025至2030年中國(guó)鮮蟹柳市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)附桂骨痛膠囊市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 基于PLC的智能車庫門系統(tǒng)設(shè)計(jì)
- 【2023有效教學(xué)設(shè)計(jì)原理、策略與評(píng)價(jià)讀書報(bào)告3600字】
- 頂管專項(xiàng)施工方案-人工頂管
- 2023春國(guó)家開放大學(xué)-01880組織行為學(xué)-期末考試題帶答案
- 2023版中國(guó)近現(xiàn)代史綱要課件:09第九專題 新民主主義革命偉大勝利
- 保滄高速河間服務(wù)區(qū)建設(shè)項(xiàng)目水資源論證報(bào)告(終)
- 海洋資源環(huán)境承載能力監(jiān)測(cè)預(yù)警指標(biāo)體系和技術(shù)方法
- 電子科技大學(xué)《嵌入式系統(tǒng)》20春期末考試【答案50234】
- GB/T 7705-2008平版裝潢印刷品
- hse履職能力評(píng)估測(cè)試題庫
- GB/T 1871.2-1995磷礦石和磷精礦中氧化鐵含量的測(cè)定容量法和分光光度法
評(píng)論
0/150
提交評(píng)論