




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章Java語言概述教學目標了解計算機基礎知識,理解馮.諾依曼結構,理解數系,掌握二進制、八進制、十六進制、十進制的相互轉換理解編程語言概念、程序的概念,理解編譯執行和解釋執行了解Java語言發展歷史,理解Java語言特點能安裝JDK理解Java簡單程序涉及的基礎語法元素理解Java應用程序的開發步驟理解源文件、字節碼文件與類之間的關系了解Eclipse、IntelliJIDEA、NetBeans集成開發環境,能使用其中一種集成開發環境開發Java程序2目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA3目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA41.1.1馮.諾依曼結構
(1/8)1945年,數學家馮.諾依曼提出了計算機制造的三個基本原則:采用二進制邏輯程序存儲執行計算機由五個部分組成(運算器、控制器、存儲器、輸入設備、輸出設備)。這三個原則定義了所有現代通用電子計算機的基本范式,被稱為“馮.諾依曼結構”。按照“馮.諾依曼結構”建造的計算機被稱為存儲程序計算機馮.諾依曼結構計算機的基本原理是存儲程序原理,是把程序和數據存儲到計算機內部存儲器中的一種設計原理。馮.諾依曼結構如圖1-1所示:51.1.1馮.諾依曼結構
(2/8)6工作方式:在程序執行前,程序包含的指令和數據要先送入內存;一旦啟動程序執行,則計算機必須能夠在不需要操作人員干預下自動完成逐條指令取出和執行的任務。71-1馮.諾依曼結構不包含的部件()CPU輸入設備通信設備輸出設備ABCD提交單選題1分81-2馮.諾依曼結構的三個原則()采用二進制邏輯程序在線執行程序存儲執行計算機由五個部分組成ABCD提交計算機由六個部分組成E采用二進制和十進制混合邏輯F多選題2分1.1.1馮.諾依曼結構——CPU:中央處理器(3/8)CPU(centralprocessingunit):計算機的大腦組成:控制單元、算術/邏輯單元控制單元:控制和協調其他組件的動作算術/邏輯單元:完成數值運算和邏輯運算CPU速度的衡量:Hz,MHz,GHz91.1.1馮.諾依曼結構——內存(Memory)(4/8)10信息是如何存儲在計算機中?電路開:1;電路關:0比特:一個二進制數0或1字節:最小的存儲單元,由8個比特構成存儲容量單位:KB、MB、GB、TB、PB各種類型的數據(如數字、字符)都被編碼成字節序列。程序員無須關心數據的編碼和解碼,這些都是系統根據編碼模式自動完成。現實世界中的數據,如“冰與火”、3.1415,如何被“0、1”所表示呢?1.1.1馮.諾依曼結構——內存(Memory)(5/8)11內存:由一個有序的字節序列組成,用于存儲程序及程序需要的數據。一個程序在執行之前必須先裝入內存,因此,內存也是計算機執行程序的工作區域。1.1.1馮.諾依曼結構——外存(6/8)制作好的程序和有用的數據應能被永久地存放。然而,內存是一個易失的數據保存形式,即斷電時存儲在內存中的信息就會丟失。外存介質:物理地存儲數據和程序指令。外存設備:(驅動器是對外存介質進行操作的設備)磁盤驅動器(存儲介質:硬盤)光盤驅動器(存儲介質:CD,DVD)USB閃存驅動器(存儲介質:移動U盤、移動硬盤)121.1.1馮.諾依曼結構——輸入/輸出設備(7/8)鍵盤:用于輸入的設備鼠標:是定點設備,用來在屏幕上移動一個成為光標的圖形化指針顯示器:顯示信息(文本和圖形)。屏幕分辨率:顯示設備水平和垂直維度上的像素數。如1024X768。分辨率越高,圖像越清晰。點距:像素之間以毫米為單位的間隔。點距越小,顯示效果越好。131.1.1馮.諾依曼結構——計算機組成(8/8)14計算機包括硬件和軟件兩個部分。硬件是看得見的物理部分,而軟件是看不見指令,這些指令控制硬件并使得硬件完成特定任務。主要硬件如下圖所示:151-3()是計算機的大腦硬件CPU內存磁盤ABCD提交單選題1分161-4這句話是否正確:內存中存儲的數據在斷電后也能保持不變。()正確錯誤AB提交單選題1分171-5計算機執行程序的工作區域是()CPU內存外存顯示器ABCD提交單選題1分目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA181.1.2數系(1/9)十進制數系十進制數系是我們日常生活中常常使用的,它能使用的數字有十個:0、1、2、3、4、5、6、7、8、9。一個十進制數用一個或多個這些數字所組成的、首位不為數字0的一個序列表示。二進制數系二進制數系是計算機內部使用的,它能使用的數字有兩個:0和1,其基數是2。一個二進制數是由0、1所組成的序列。191.1.2數系(2/9)十六進制數系十六進制數系的基數是16,能使用16個數字:0到9、A到F(也可以用小寫,a到f),其中,A對應十進制數的10,B對應十進制數11,依此類推,F對應十進制數15。201.1.2數系(3/9)
211.1.2數系(4/9)
22排列成b7b6b5b4b3b2b1b0,即可得到的轉換后的二進制數是:10001001。1.1.2數系(5/9)二進制與十進制的相互轉換上述十進制轉換為二進制的計算過程,也可以用數學豎式來表示,如下所示。231.1.2數系(6/9)二進制與十六進制的相互轉換二進制轉換為十六進制:從左向右把每四位二進制數轉換為一個十六進制數十六進制轉換為二進制:把十六進制數的每一位轉換為四位二進制數例如:0xB3F<——>0x101100111111241.1.2數系(7/9)
251.1.2數系(8/9)
261.1.2數系(9/9)十進制與十六進制的相互轉換上述十進制數轉化為十六進制數的計算過程,也可以用數學豎式來表示,如下所示27將上述計算結果,排列成h2h1h0,即得到十六進制數:345。281-6十進制數145對應的二進制數是
[填空1],十六進制數是[填空2]。(備注:答案不需要前綴0x或0b)作答填空題2分目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA291.1.3編程語言和程序(1/6)程序:告訴計算機做什么的指令計算機不理解人類語言,因此,計算機程序需要使用計算機可以理解的語言編寫。編程語言:程序員編寫程序時使用的語言,能被計算機接受和處理,具有完備的語法規則,可以讓程序員準確定義計算機所需的數據和應當采取的動作,從而讓計算機完成指定任務。按時間順序:機器語言、匯編語言、高級語言機器語言第一代計算機語言,是用二進制代碼表示、能被計算機直接理解和執行的一種內置機器指令集合具有直接執行、速度快的特點如:表示“+”(11011010,某種機器指令集)301.1.3編程語言和程序(2/6)匯編語言:第二代計算機語言,也稱為符號語言,是一種用助記符和符號地址表示每一條機器語言指令、仍然面向機器的編程語言匯編語言使用短的描述性單詞(簡稱為助記符)來表示一條機器語言指令。如:add2,3,result需要使用匯編器將匯編語言程序轉換成機器代碼311.1.3編程語言和程序(3/6)匯編語言:第二代計算機語言,也稱為符號語言,是一種用助記符和符號地址表示每一條機器語言指令、仍然面向機器的編程語言優點:匯編語言易于理解和記憶,有效降低編程難度。缺點:用匯編語言編寫的程序不具有可移植性。而且,用匯編語言編程要知道CPU是如何工作以及數據所對應的寄存器單元或地址單元的狀態。因此,用匯編語言進行編程,對程序員的要求也是很高的,還要針對不同類型的機器學習其對應的匯編語言。321.1.3編程語言和程序(4/6)高級語言第三代計算機語言,面向用戶、獨立于機器的指令系統、比較接近于人類的自然語言平臺獨立,高級語言程序可以在不同類型的機器上運行。語句:高級語言中的指令。如area=5*5*3.1415;舉例:Java、C、Python、C++、C#331.1.3編程語言和程序(5/6)高級語言源程序(源代碼):用高級語言編寫的程序。源程序機器代碼:編譯執行和解釋執行編譯執行:將整個源代碼翻譯為機器代碼文件,然后執行該機器代碼文件341.1.3編程語言和程序(6/6)解釋執行:解釋器一次翻譯并且執行程序的一條語句35編譯執行與解釋執行效率比較?編譯執行效率高361-7CPU能理解什么語言?()機器語言匯編語言高級語言Java語言ABCD提交單選題1分目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA371.2.1Java語言發展歷史(1/2)起源:Oak(1991,JamesGosling)1990年Sun公司成立了由JamesGosling領導的開發小組,開始致力于開發一種可移植的、跨平臺的語言快速發展:得益于Internet和Web的出現Java誕生:1995年5月Sun公司推出JavaDevelopmentKit(JDK)1.0a2版本,標志著Java的誕生印度尼西亞有一個重要的盛產咖啡的島嶼叫Java,中文譯為爪哇,開發人員為這種新的語言起名為Java,其寓意是為世人端上一杯熱咖啡Java平臺:JavaSE(JavaStandardEdition),Java標準版JavaEE(JavaEnterpriseEdition),Java企業版JavaME(JavaMicroEdition),Java微型版381.2.1Java語言發展歷史(2/2)39JDK5JDK8JDK11JDK172029年9月2030年12月2026年9月自JavaSE9開始,新版本的發布以半年為周期課程思政1:與時俱進,終身學習信息技術的發展,知識更新越來越快;Java技術的更新步伐也是越來越快。只有不斷學習更新的Java語言特性,才能跟上時代的步伐。應牢固樹立與時俱進、終身學習的理念,不斷更新知識,才能不負于國家和時代的重托。401.2.2Java語言特點和應用(1/3)簡單的(simple)面向對象的(objectoriented)分布式的(distributed)解釋型的(interpreted):字節碼解釋執行健壯的(robust)編譯檢測、異常處理、摒棄一些易發生錯誤的編程機制安全的(secure)安全的存儲分配模型、不能直接操作內存、字節碼驗證體系結構中立的(architectureneural)可移植的(portable)高性能的(highperformance)字節碼解釋執行比其他解釋執行語言編寫的代碼要快得多多線程的(multi-threaded)內置支持多線程,Object類的成員方法wait()、notify()、notifyAll()等用于多線程之間的同步,還有一個關鍵字synchronized也用于支持多線程的同步。動態的(dynamic)類是在運行時由JVM根據需要動態加載的,而不是在剛開始全部加載。當某個類發生了修改,不需要對整個應用程序進行編譯。411.2.2Java語言特點和應用(2/3)體系結構中立的(architectureneural)Writeonce,runanywhere編譯后產生的字節碼文件可以跨平臺執行可移植的(portable)Java語言的語言規范不依賴于機器平臺源程序不需要修改,也可以在其他平臺編譯、執行421.2.2Java語言特點和應用(3/3)Java語言應用廣泛:全球有數百萬開發人員運行超過51億臺Java虛擬機….服務器端開發:Java在金融服務業的應用非常廣泛,許多跨國投資銀行例如:GoldmanSachs(高盛投資),Citigroup(花旗集團),Barclays(巴克萊銀行)以及其他銀行,都用Java來編寫前臺和后臺的電子交易系統,結算和確認系統,數據處理項目以及其他項目。大數據技術、機器學習:Hadoop、Mahout網站領域:SpringMVC,JSP….嵌入式領域:JavaME智能手機:Android43課程思政2:軟件定義一切與程序員職業道德2017年,中國計算機大會,梅宏教授的主題報告是《軟件定義一切:挑戰和機遇》結合當下的人工智能熱潮,梅宏教授認為我們正在進入一個軟件定義的時代。軟件定義的技術本質是把原先一體化的硬件設施打破,將基礎硬件虛擬化并提供標準化的基本功能,然后通過管控軟件,控制其基本功能,提供更開放、靈活、智能的管控服務。44梅宏,中國科學院院士,發展中國家科學院院士,中國計算機學會會士,IEEEFellow。在人-機-物融合計算的場景下,萬物皆可互聯、一切均可編程課程思政2:軟件定義一切與程序員職業道德隱私與數據濫用作為日常工作的一部分,程序員可以訪問大型數據集或數據庫,它們或者包含金融交易信息、個人敏感信息,或者包含了級別劃分為“秘密”“絕密”的信息。程序員應以對社會負責的態度,尊重隱私,遵守信息安全工作條例。計算機黑客通過自己的計算機,入侵遠程計算機系統,非法提取數據或破壞系統。無論動機如何,都是非法的。45課程思政2:軟件定義一切與程序員職業道德抄襲和盜版軟件未經允許使用他人的程序是一種缺乏職業道德的行為很多商業軟件都受版權法的保護。違反版權法,會面臨高額罰款計算機資源的濫用計算機系統訪問權限或用戶賬戶密碼是私有財產當你獲得一個權限,不應濫用這一權限46471-8下列關于Java語言特點的敘述中,錯誤的是()Java是跨平臺的編程語言Java支持多線程Java支持分布式計算Java是面向過程的編程語言ABCD提交單選題1分目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA481.2.3JDK安裝(1/8)Java語言規范:對語言的技術定義,包括Java程序設計語言的語法和語義應用程序接口API(ApplicationProgramInterface):也稱為庫,包括為開發Java程序而預定義的類和接口。Java虛擬機(JavaVirtualMachine,JVM):運行Java字節碼(bytecode)的虛擬機器。它是Java實現跨平臺的基礎。“一次編寫,處處運行”Java運行時環境(JavaRuntimeEnvironment,JRE):由Java虛擬機、類庫以及運行Java程序所需的一些核心文件組成。Java開發工具包(JavaDevelopmentToolkit,JDK):是JRE的超集,包含JRE的所有元素,以及用于開發和測試Java程序的工具。49JDKJREJVM501-10()包含一套獨立的程序集用于開發和測試Java程序,該程序集中的每個程序都是從命令行調用的。Java語言規范JavaAPIJavaJDKJavaIDEABCD提交單選題1分1.2.3JDK安裝(2/8)JDK安裝步驟:下載JDK17安裝包:JavaSE17的下載網頁(/java/technologies/downloads/#java17)執行安裝包:可選擇安裝目錄安裝后目錄:bin:包含所有可執行命令conf:包含開發和部署的配置文件include:包含編譯本地代碼時所使用的C/C++頭文件,用于實現JVM等底層軟件jmods:包含JMOD格式的平臺模塊,這個目錄保存了核心模塊,也就是官方提供的各種類庫程序。legal:包含所使用協議的法律聲明lib:包含非windows平臺上的動態鏈接本地庫,其子目錄和文件不應由開發人員直接編輯或使用511.2.3JDK安裝(3/8)JDK安裝步驟:環境變量配置在命令行窗口用戶通過DoS命令進行設置(1)setJAVA_HOME=D:\java\jdk17(2)echo%JAVA_HOME%(3)setPATH=%JAVA_HOME%\bin;%PATH%(4)java–version521.2.3JDK安裝(4/8)JDK安裝步驟:環境變量配置通過系統屬性界面找到設置環境變量的界面進行設置531.2.3JDK安裝(5/8)541.2.3JDK安裝(6/8)551.2.3JDK安裝(7/8)561.2.3JDK安裝(8/8)57目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA581.3.1一個簡單程序(1/11)程序清單1-1Hello.java/**第一個簡單程序*/publicclassHello{ //main方法是程序開始執行的入口方法 publicstaticvoidmain(String[]args){ //在控制臺中顯示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}Java應用程序的源文件后綴名是.java,源文件的文件名要與Java類名大小寫一致。591.3.1一個簡單程序(2/11)注釋(comment):塊注釋、行注釋/**第一個簡單程序*/publicclassHello{
//main方法是程序開始執行的入口方法 publicstaticvoidmain(String[]args){
//在控制臺中顯示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}601.3.1一個簡單程序(3/11)類(class):定義一個類必須使用關鍵字class/**第一個簡單程序*/publicclassHello{ //main方法是程序開始執行的入口方法 publicstaticvoidmain(String[]args){ //在控制臺中顯示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}611.3.1一個簡單程序(4/11)關鍵字(keyword):關鍵字也稱為保留字,是對編譯器具有特定含義的詞,不能用于其他目的。/**第一個簡單程序*/publicclassHello{ //main方法是程序開始執行的入口方法
publicstaticvoidmain(String[]args){ //在控制臺中顯示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}621.3.1一個簡單程序(5/11)主方法(mainmethod):Java程序執行的入口點,具有固定形式主類:擁有主方法的類/**第一個簡單程序*/publicclassHello{ //main方法是程序開始執行的入口方法
publicstaticvoidmain(String[]args){ //在控制臺中顯示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}631.3.1一個簡單程序(6/11)塊(block):由配對的花括號({、})括住的區域/**第一個簡單程序*/publicclassHello{ //main方法是程序開始執行的入口方法 publicstaticvoidmain(String[]args){ //在控制臺中顯示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}64類塊方法塊1.3.1一個簡單程序(7/11)語句(statement):由分號;結束的一行代碼語句終止符:;(分號)空語句:單獨一個分號所構成的語句/**第一個簡單程序*/publicclassHello{ //main方法是程序開始執行的入口方法 publicstaticvoidmain(String[]args){ //在控制臺中顯示一行字符串:Hello,javaisfun!
System.out.println("Hello,javaisfun!"); }}65System.out:標準輸出對象println:可看成printline簡寫System.out.print():輸出不換行1.3.1一個簡單程序(8/11)字符串(String):一個雙引號括住的字符序列String:字符串類型/**第一個簡單程序*/publicclassHello{ //main方法是程序開始執行的入口方法 publicstaticvoidmain(String[]args){ //在控制臺中顯示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}661.3.1一個簡單程序(9/11)Java.lang包:每個Java應用程序會默認導入一個包:javalang包,即相當于在類定義之前加上下面的一條導入語句:importjava.lang.*//導入Java基礎語言包,一般是隱式導入/**第一個簡單程序*/importjava.lang.*;publicclassHello{ //main方法是程序開始執行的入口方法 publicstaticvoidmain(String[]args){ //在控制臺中顯示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}671.3.1一個簡單程序(10/11)681.3.1一個簡單程序(11/11)擴展示例:編寫一個程序,輸出楊輝三角形的前3行69publicclassprintYangTri{publicstaticvoidmain(String[]args){ System.out.println("1"); System.out.println("121"); System.out.println("12321");
}}701-11Java語言主方法的方法頭是
[填空1](String[]args)。
作答正常使用填空題需3.0以上版本雨課堂填空題1分目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA711.3.2Java應用程序開發步驟(1/2)
編輯源文件:擴展名必須是.java。編譯Java源程序:用Java編譯器(javac.exe)編譯源文件,得到字節碼文件。運行Java程序:使用Java解釋器(java.exe)來解釋執行字節碼文件。721.3.2Java應用程序開發步驟(2/2)
示例73目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA741.3.3源文件、字節碼文件與類(1/2)一個Java應用程序可由若干個Java源文件構成的。一個Java源文件可以包含一個或多個類的定義。每個源文件一般包括:包(package)聲明語句、導入(import)語句、類(class)的定義。其一般形式如下:75每個類在編譯后均會產生獨立的字節碼文件(*.class)。761-12對于一個Java源文件,import,class定義以及package正確的順序是()package,import,classclass,import,packageimport,package,classpackage,class,importABCD提交單選題1分1.3.3源文件、字節碼文件與類(2/2)含有多個類定義的源文件,只允許有一個公有類,即用public修飾的類,并用公有類的類名命名源文件。當一個源文件聲明多個公有類時,編譯時Java編譯器會報錯。源文件Rect.java中定義了兩個類:公有類Rect、主類TestRect77能否執行字節碼Rect呢(即在命令行中使用javaRect)?781-13編譯一個定義了3個類和10個方法的Java源文件后,會產生(
)個字節碼文件?擴展名是(
)?13個字節碼文件,擴展名為.class1個字節碼文件,擴展名為.class3個字節碼文件,擴展名為.java3個字節碼文件,擴展名為.classABCD提交單選題1分目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA791.4集成開發環境集成開發環境(IntegratedDevelopmentEnvironment,IDE):編輯、編譯鏈接、調試和在線幫助都集成在一個圖形用戶界面中。流行的IDE:EclipseIntelliJIDEANetBeans80目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA811.4.1EclipseEclipse下載&安裝:Eclipse使用展示82Eclipse開發環境項目組織結構項目:JavaBasicTeaching包:chapter1類:Java源文件目錄1.1計算機基礎1.1.1
馮.諾依曼結構1.1.2數系1.1.3編程語言和程序1.2Java語言概述1.2.1Java語言發展歷史1.2.2Java語言特點和應用1.2.3
JDK安裝1.3Java簡單程序開發
1.3.1一個簡單程序1.3.2Java應用程序開發步驟1.3.3源文件、字節碼文件與類1.4集成開發環境1.4.1Eclipse1.4.2IntelliJIDEA831.4.2IntelliJIDEA下載:/idea/使用演示:項目javaIdeaTest包chapter1類Main84作業見QQ群作業編程題1-4:源文件命名:Ex+學號后四位+章號(兩位,不足兩位補0)+題號(兩位,不足兩位補0),例如:學號四位0802,第1章,編程題第1題,命名為:EX08020101.java編程題提交到QQ群作業中,提交代碼以及運行結果截圖。8586Takeabreak第2章Java編程基礎87教學目標(1)了解ASCII碼,理解Unicode碼、標識符、關鍵字(2)理解變量、常量(3)理解賦值語句與賦值表達式(4)了解并使用交互式工具Jshell(5)理解八種基本數據類型以及數據類型轉換(6)理解并應用控制臺輸入/輸出(7)理解并應用算術運算符、增強賦值運算符、關系運算符、邏輯運算符、條件運算符,并能進行混合運算(8)理解并應用數學函數(9)理解編程的步驟和算法概念,能用算法描述問題的解決方案;了解編程、算法思維和計算思維的關系(10)了解并遵守良好的編程規范,理解程序設計風格、注釋、命名習慣(11)理解并避免三類程序設計錯誤8889目錄運算符和表達式求值數學函數編程與算法編程規范
程序設計錯誤標識符與關鍵字變量與常量賦值語句&表達式Jshell基本數據類型2.12.22.32.42.52.62.72.82.92.10目錄2.1標識符與關鍵字編碼&解碼:編碼是字符映射到其二進制序列的過程,解碼是編碼的逆過程計算機編碼方案:ASCII(AmericanStandardCodeforInformationInterchange)碼、Unicode碼、GBK碼、ISO-8859-1碼;其中,GBK碼對多大2萬多的簡繁漢字進行編碼。90ASCII碼與Unicode碼標識符關鍵字內容2.1.1ASCII碼和Unicode碼ASCII碼:基于拉丁字母的一套電腦編碼系統,占用一個字節ASCII(AmericanStandardCodeforInformationInterchange)是“美國信息交換標準編碼”的英文字頭縮寫ASCII碼規定了用從0(0x00)到127(0x7F)的128個數字來代表信息的規范編碼,包括33個控制碼、一個空格碼、和94個形象碼Unicode碼:Unicode碼的出現是為了解決ASCII碼只能表示128字符的限制占兩個字節,表示65536個字符Unicode標準引入了補充字符集(supplementarycharacter),可支持1112064個字符一個Unicode字符使用兩個字節,用\u開頭的4位16進制數表示,范圍從\u0000到\uFFFFUnicode碼包含ASCII碼,Unicode碼的前128個字符(從\u0000到\u007F)與ASCII碼的128字符一致示例:TestUnicode.java912.1.2標識符標識符:Java字母和Java數字組成的長度無限制的字符序列,字符序列的開頭必須是Java字母,是用來標識類名、變量名、方法名、類型名、數組名、文件名的有效字符序列。簡單地說,標識符就是一個名字。標識符語法規則(1)由字母、數字構成,長度不限。(2)標識符以字母開頭,不能以數字開頭。(3)標識符不能是保留關鍵字(reservedkeyword),也不能是字面常量true、false、null。(4)標識符可以是上下文關鍵字(contextualkeyword),然而應盡量避免使用。922.1.2標識符Java字母:從整個Unicode字符集中提取,該字符集支持當今世界上使用的大多數書寫腳本,包括中文、日文和韓文等的大型字符集。Java字母不僅包括大寫和小寫ASCII拉丁英文字母:A-Z(\u0041-\u005a)和a-z(\u0061-\u007a),而且包括漢語中的漢字、希臘字母、日文、韓文、俄文以及其他許多語言的文字出于歷史原因,Java字母還包括ASCII美元符號($,或\u0024)和下劃線(_,或\u005f)建議:美元符號$應該只在機器生成的源代碼中使用,不要用來命名標識符下劃線(_)可用于由兩個或多個字符組成的標識符中,但由于單個下劃線是關鍵字,因而不能用作單字符標識符。標識符舉例有效:Hello_Java,$23,hello$,_count,你好,計數器無效:23$,#count,hello-world,hello?932.1.3關鍵字關鍵字是具有特定用途或特定意義的詞,可分為保留關鍵字和上下文關鍵字保留關鍵字是由ASCII字符組成的51個字符序列,不能用作標識符。上下文關鍵字是由ASCII字符組成的16個字符序列。這16個字符序列可以被解釋為上下文關鍵字或其他標記(即可使用的標識符),具體取決于它們出現的上下文。942.1.3關鍵字95保留關鍵字2.1.3關鍵字96上下文關鍵字972-1Java語言標識符使用的字母是指英文字母及美元符號$,這句話是否正確()正確錯誤AB提交單選題1分982-2下列變量定義中,不合法的是()int$Xint_123;intsummer_2010_gross_sale;int#dim;ABCD提交單選題1分2.2變量與常量99變量常量內容2.2.12.2.22.2.1變量變量是指在程序中可以被改變的量,具有4個基本要素:變量名:用來指代變量,可以使用合法標識符來命名數據類型:Java語言支持的各種數據類型存儲單元:用來在內存中存儲變量值的,不同的數據類型對存儲單元有不同的要求變量值:在程序運行某個時刻的取值,被存儲于該變量的存儲單元中變量用于表示特定類型的數據,在使用之前,必須先進行聲明和初始化。語法:數據類型變量名;舉例:intcount;doubleradius;doubleintrstRate;幾個變量為同一類型,允許同時聲明語法:數據類型變量1,變量2,…,變量n;舉例:charletter1,letter2,letter3;1002.2.1變量通常變量具有初始值,而且變量在使用前必須具有初始值。變量可在聲明后被初始化,也可在聲明時一同初始化,還可被Java編譯器默認初始化聲明一個變量同時初始化的語法形式如下:
數據類型變量名=初值;例如:charletter1=‘中’;如果需要同時聲明和初始化同一類型的多個變量,可采用如下語法形式:數據類型變量名1=初值1,變量名2=初值2,…,變量名n=初值n;例如,下面的一條語句:inti=2,j=3,k=5;1012.2.2常量命名常量(namedconstant)是一個代表不變值的標識符,簡稱常量。常量必須在聲明時進行初始化,使用關鍵字final。常量名是一個合法標識符,常常采用大寫英文字母。102程序分析:CalcuCircleArea.javafinaldatatypeCONSTANTNAME=VALUE;finaldoublePI=3.14159;finalintSIZE=3;2.3賦值語句、賦值表達式賦值語句:語法:變量=表達式;舉例:inty=1;intx=5*(3/2);x=y+1;如果用一個值給多個同類型變量賦值,也是可以的,其語法形式如下:變量名1=變量名1=…=變量名1=值;//鏈式賦值例如:令i,j,k均為整型變量,可以如下進行賦值:i=j=k=5;賦值語句去掉分號(;)就是賦值表達式。例:System.out.println(x=1);i=j=k=1;103x=1;System.out.println(x);k=1;j=k;i=j;等價于1042-3將1賦給變量x,下面正確的代碼是()
1=x;x=1;x:=1;1:=x;ABCD提交單選題1分討論請指出并修改下面代碼中的錯誤105錯誤在于:j、k不是已定義好的變量2.4JshellJshell(JavaShellTool)是自JavaSE9開始引入的一個命令行交互工具以REPL(Read-eval-printloop,讀取-計算-打印循環)方式交互式評估Java語言的聲明、語句和表達式Jshell可接受Java語句、變量定義、方法定義、類定義、導入語句和表達式。這部分輸入的代碼被稱為代碼段(snippet)在代碼段被輸入后,Jshell對其進行計算,并立即提供反饋。根據輸入的代碼段和選擇的反饋模式,反饋信息包括從操作的結果和解釋到無任何信息操作演示:啟動-jshell,演示代碼片段執行,退出-/exit1062.4Jshell1072.4Jshell-/edit命令1082.4Jshell-/save命令1092.4Jshell-/history、/list110命令/save還可以存儲指定的代碼片段,使用代碼段ID來指定。2.4Jshell-/drop1112.4Jshell-/open、Tab補全1121132-4Jshell啟動的命令是
[填空1]
,退出的命令是
[填空2]
作答填空題2分2.5基本數據類型1142.5.1整型2.5.2浮點類型2.5.3字符類型2.5.4布爾類型2.5.5類型轉換2.5.6輸入基本數據類型2.5.7格式化控制臺輸出1152-5下列選項中,()不屬于Java語言的基本數據類型。整數類型數組類型浮點類型字符類型ABCD提交單選題1分2.5.1整型(1/2)Java語言提供了5種整數類型,其表示值的范圍和占用存儲空間大小116整型字面值是可以賦值給一個整型變量的常量值,如123、24等。整型字面值默認為int型為了表示一個長整型的整型字面值,需要在整型字面值后加L或l(L的小寫字母)。2.5.1整型(2/2)默認情況下,整型字面值是一個十進制整數。Java語言也支持二進制、八進制、十六進制的整型字面值。二進制整型字面值使用前置0b(零b)或0B,如二進制數0b1010表示十進制整數10。八進制整型字面值使用前置0(零),如八進制數017表示十進制整數15。十六進制整型字面值使用前置0x(零x)或0X,如十六進制數0xA5表示十進制整數165。在使用時,凡是十進制整型字面值使用的地方,二進制、八進制、十六進制整型字面值都可以使用。例如,下面一段代碼:inti1=0b1010;System.out.println(i1);//輸出10一些數值型字面值數字比較多,為了提高程序的易讀性,Java語言允許在一個數值型(整數類型、浮點類型)字面值中使用下劃線分隔兩個數字,但是下劃線不能位于開頭和結尾處。
例如:123_456_789,10_5678_3456,9876_5432_1234L1172.5.2浮點類型(1/5)Java語言提供兩種浮點類型:float(單精度浮點型)和double(雙精度浮點型)浮點型字面值是帶小數點的,默認為雙精度浮點型double。例如,3.14就是一個double類型浮點字面值為了表示單精度浮點型字面值,需要在浮點型字面值后加字母f或F,例如,3.14f或3.14Fdouble型浮點字面值也可以加后綴d或D,例如,3.14d、3.14D、3.14都是等價的浮點型字面值溢出:超出double類型取值范圍1182.5.2浮點類型(2/5)Java語言用于表示溢出和出錯情況的三個特殊浮點數值是:正無窮大(Infinity)、負無窮大(-Infinity)、NaN(NotaNumber,不是一個數字)通過使用常量表達式(如1f/0f、-1d/0d、0.0/0),可以表示無限(Infinity)、NaN,而不會產生錯誤1192.5.2浮點類型(3/5)浮點型字面值也可以用a×10??形式的科學記數法表示123.456:1.23456e+2或1.23456e20.0123456:1.23456e-2E或e(exponent):指數在浮點型字面值中,下劃線也可用作數字之間的分隔符,既可用于表示整數部分的數字之間,也可用于表示小數的數字之間,還可用于表示指數部分的數字。但是,小數點前后不允許有下劃線。下面是float型字面值的合法例子:5.f.5f1f3.14f1e-1f.1E2f12_34.5_678_923f5.003_7654e+2_3f2e-3f下面是double型字面值的合法例子:5.d.5d0d3.14d1e-1d.1E2d12_34.5_678_923d5.003_7654e+2_03d2e-2011202.5.2浮點類型(4/5)浮點型精度:單精度浮點型(float):7位有效數字,至多7-8位小數位雙精度浮點型(double):16位有效數字,至多15-17位小數位1212.5.2浮點類型(5/5)浮點型精度示例:System.out.print(1f/3f);//結果是0.33333334,小數點后8位,7位有效數字System.out.print(1d/3d);//結果是0.3333333333333333,小數點后16位,16位有效數字System.out.print(1000f/3f);//結果是333.3334,小數點后4位,7位有效數字System.out.print(1000d/3d);//結果是333.3333333333333,小數點后13位,16位有效數字1221232-6以下哪個是不正確的字面值()5_234e+1_25345_2.039dABCD提交單選題1分2.5.3字符類型(1/4)字符數據類型char表示單個字符,占用兩個字節,本質上是一個無符號整數,表示0-65535之間的整數,對應字符的Unicode編碼:從\u0000至\uffff字符字面值是用單引號括住的單個字符或是一個轉義序列(escapesequence)charch1='中';//字符'中'賦值給char型變量charch2='α';//字符'α'賦值給char型變量charch3='\u4E2D';//轉義序列,用Unicode碼給char型變量賦值charch4='"';//用雙引號"給char型變量賦值1242.5.3字符類型(2/4)如果要輸出:Hesaid,"Hello!"語句:
System.out.println("Hesaid,"Hello!"");是否正確?125轉義序列由反斜杠(\)后面加上一個字符或一些數位組成。轉義字符:反斜杠(\)一個轉義序列被作為單個字符處理一些特殊字符的轉義序列如下表所示(下一頁PPT)正確語句:System.out.println("Hesaid,\"Hello!\"");2.5.3字符類型(3/4)126需要注意的是,值為換行符(LF)的字符字面值、值為回車(CR)的字符字面值、值為單引號的字符字面值,不能用其Unicode碼的轉義序列來表示,只能用其轉義序列“\n”、“\r”、“\'”表示。2.5.3字符類型(4/4)轉義序列\’、\t的使用示例:127在給字符變量賦值時,使用轉義序列雙引號和直接用雙引號,效果一樣2.5.4布爾類型布爾類型是僅有值為true或false的數據類型,其聲明的變量是一個具有值為true或false的變量,使用關鍵字boolean聲明,占用1個字節。布爾類型聲明的變量可簡稱為布爾變量。布爾變量的聲明如下所示:boolean變量名;示例:1282.5.5類型轉換(1/4)類型轉換:一種數據類型是可以向另一種數據類型轉換一個整數3可以轉換成一個浮點數3.0d,一個浮點數2.0f可以轉換成一個整數2隱式類型轉換:總是可以將一種數值類型的數值直接賦值給支持更大范圍數值類型的變量byte、short、int、long、float、double,按順序,表示數的范圍是越來越大的doubled1=20;//正確顯式類型轉換:把一個范圍大的數值類型數值賦給一個范圍小的數值類型變量,必須進行顯式類型轉換,也稱為強制類型轉換。一般語法形式如下:
目標數據類型變量名=(目標數據類型)表達式;例如:inti1=(int)43.2;四舍五入取整:(整型)(浮點類型數值+0.5)例如:inti2=(int)(43.6+0.5);1292.5.5類型轉換(2/4)字符類型與其他基本數據類型的轉換字符類型表示的數值范圍,低于三種數值類型(long、float、double)所支持的數值范圍。因此,字符類型字面值可以直接隱式類型轉換為這三種類型,反之,就必須使用顯式類型轉換。例如:longi3=98L;charc1=(char)i3;//顯式類型轉換,c1的值為'b'longi4='a';//隱式類型轉換,i4的值為97Ldoubled2='a';//隱式類型轉換,d2的值為97.0charc2=(char)97.7;//顯式類型轉換,c2的值為'a'1302.5.5類型轉換(3/4)字符類型與其他基本數據類型的轉換byte、short、int類型與字符類型在進行相互轉換時,賦值語句右邊的表達式值或字面值只要不超出轉換后數據類型的取值范圍,可以直接相互賦值,即隱式轉換。如果賦值語句右邊的字面值超出轉換后數據類型的取值范圍,就需要進行顯式類型轉換。例如:bytei5='a';//隱式類型轉換,i5的值為97shorti6='\u0065';//隱式類型轉換,i6的值為101inti7='a';//隱式類型轉換,i7的值為97charc1=97;//隱式類型轉換,c的值為'a'charc2=65536;//編譯器報錯,超出范圍131bytei8='\u0165';//編譯器報錯,超出范圍shorti9='\uf365';//編譯器報錯,超出范圍charc3=i5;//編譯器報錯charc4=i6;//編譯器報錯charc5=i7;//編譯器報錯2.5.5類型轉換(4/4)布爾類型不能與其他基本數據類型進行相互的數據類型轉換例如:booleanb1=5>3;//5>3的運算結果為true,布爾變量b的值為truefloatf1=(int)b1;//編譯器報錯booleanb2=(boolean)5;//編譯器報錯1321332-7將一個double型變量d賦值給一個float型變量x,正確的語句是()x=(long)dx=(int)d;x=d;x=(float)d;ABCD提交單選題1分1342-8下面語句的正確性:doubled=3;()
inti=3.0;()正確正確正確錯誤錯誤錯誤錯誤正確ABCD提交單選題1分2.5.6輸入基本數據類型(1/3)System.out:標準輸出設備System.in:標準輸入設備1.創建一個Scanner對象Scannerinput=newScanner(System.in);2.使用nextDouble()方法獲取一個雙精度浮點值
System.out.print("Enteradoublevalue:");Scannerinput=newScanner(System.in);doubled=input.nextDouble();1352.5.6輸入基本數據類型(2/3)136Scannerinput=newScanner(System.in);intvalue=input.nextInt();2.5.6輸入基本數據類型(3/3)導入語句:特定導入:在導入語句中指定單個具體的類,importjava.util.Scanner;通配符導入:通過使用星號*作為通配符(wildcardcharacter),導入一個包中所有的類,例如,importjava.util.*;導入語句只是告訴Java編譯器在哪里能夠找到程序中需要用到的類,并不是直接將包中所有類的信息加載到JVM中特定導入和通配符導入在性能上沒有什么差別。示例1:ComputeRectAreajava(輸入一個長方形的寬和高,計算其面積)示例2:ComputeAVG.java(要求用戶連續輸入3個單精度浮點數,并計算它們的平均值)示例3:StrCharInputDemo.Java(展示next()、nextLine()方法的使用以及字符的輸入)注意:為了避免輸入錯誤,一定不要在方法nextByte()、nextShort()、nextInt()、nextLong()、nextFloat()、nextDouble()、next()之后直接調用方法nextLine()輸入值。1371382-9假定創建了一個Scanner對象: Scannerinput=newScanner(System.in);
下面哪個選項能讀入一個雙精度浮點數()input.Double();input.double();input.nextdouble();input.nextDouble();ABCD提交單選題1分2.5.7格式化控制臺輸出(1/5)System.out.printf()方法在控制臺上以某種指定的格式輸出信息
System.out.printf(格式字符串,輸出項1,輸出項2,…,輸出項k);格式字符串是一個由多個字符串子串和格式限定符構成的字符串格式限定符:%6.2f常用的簡單格式限定符1392.5.7格式化控制臺輸出(2/5)格式限定符與輸出項必須在順序、數量和數據類型上匹配示例:1402.5.7格式化控制臺輸出(3/5)對于每一個格式限定符,還可以指定其域寬和精度。令m、n表示兩個正整數,輸出一個浮點數的般形式如下:%m.nf、%-m.nf、%m.ne、%-m.ne對于非浮點數,一般只能指定其域寬,假設以X表示非浮點數的轉換碼,一般形式如下:%mX、%-mX域寬可以是正整數,也可以是負整數。正整數表示右對齊,負整數表示左對齊。當域寬低于輸出項的實際寬度時,按輸出項的實際寬度輸出。1412.5.7格式化控制臺輸出(4/5)示例1:域寬System.out.printf("|%-4d|%3s|%-7.2f|%10.2e|",12,"Hello",123.5678,1234.5678);其輸出結果如下(表示空格字符):|12|Hello|123.57|1.23e+03|示例2:數字前面用數字0作為前導而不是使用空格填充System.out.printf("|%04d|%010.2e|",12,1234.5678);其輸出結果是:|0012|001.23e+03|示例3:顯示帶有千位分隔符的數字,千位分隔符也是占據域寬的System.out.printf("|%,010d|%,015.5f|",1234567,1234.5678);其輸出結果是:|01,234,567|00001,234.56780|1422.5.7格式化控制臺輸出(5/5)示例4:FormatOutDemo.java,通過一個表格方式輸出11、12、13,這3個數及其平方、立方1432.6運算符和表達式求值Java語言提供了豐富的運算符,包括:算術運算符、關系運算符、邏輯運算符、賦值與增強賦值運算符、位運算符等144內容2.6.1算術運算符2.6.2增強賦值運算符2.6.3關系運算符2.6.4邏輯運算符2.6.5條件運算符2.6.6運算符總述2.6.1算術運算符(1/11)加減運算符:+、-,二元運算符,從左向右2+4–3+5乘除運算符:*、/,二元運算符,從左向右4*3/2*2與數學運算一樣,乘除優先級高于加減2+4*2-》2+8-》10需注意:當除法的兩個操作數都是整數時,除法運算的結果也是整數,當出現不能整除的情況時,小數部分會被舍去。7/2的結果是3而不是3.5,而-7/2的結果是-3而不是-3.5如果除法運算需要保留小數部分,其中至少一個操作數必須是浮點數,例如,5.0/2、5/2d、5d/2等表達式的計算結果都是2.5。1451462-10給出以下代碼的輸出:doubleamount=5;System.out.print(amount/2);System.out.println(","+5/2);輸出結果為
[填空1]
作答正常使用填空題需3.0以上版本雨課堂填空題1分2.6.1算術運算符(2/11)取余運算操作符%被稱為求余或取模操作符,可以求得除法的余數。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國電動機空間加熱器行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國甲酸市場需求量預測及未來銷售模式研究研究報告
- 2025-2030中國理發行業市場發展分析及發展趨勢與投資機會研究報告
- 2025-2030中國玻璃茶壺行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030中國環境服務行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030中國玫瑰茄行業市場現狀供需分析及投資評估規劃分析研究報告
- 心理咨詢師考試的重要概念與實際應用探討試題及答案
- 2025-2030中國特殊農藥行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030中國物流O2O行業發展前景及趨勢預測分析研究報告
- 2025-2030中國煤炭運輸物流行業發展分析及投資風險預警與發展策略研究報告
- 2024年山西文旅集團招聘筆試參考題庫含答案解析
- 全國流感監測技術指南
- 溶血尿毒綜合征-2
- 駕駛員月度安全會議簽到表模板
- 第八章仿生原理與創新設計
- Unit5 A party (1) 課件 牛津譯林版六年級下冊英語
- 王陽明與心學
- 城鎮土地使用稅減免稅申請審批表
- 11樓11月份工程施工月進度計劃表
- 高處作業安全監理實施細則
- 運用PDCA血透室導管感染率
評論
0/150
提交評論