Java程序設計與Android應用開發(fā)0_第1頁
Java程序設計與Android應用開發(fā)0_第2頁
Java程序設計與Android應用開發(fā)0_第3頁
Java程序設計與Android應用開發(fā)0_第4頁
Java程序設計與Android應用開發(fā)0_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

高級程序設計與應用Java程序設計與Android應用開發(fā)0張震上海大學WhyJava?新的技術革命互聯(lián)網(wǎng)+,大數(shù)據(jù),人工智能What

Java?WhatisJava?WhatdoesJavado?WhatisJava?Java是Java技術的簡稱,它包括兩局部:Java程序設計語言Java平臺5Java技術幾乎應用于我們生活和工作的各個領域,從具體的技術層面考慮,它包括:Java技術JavaSEJavaEEJavaMEJavaFXJavaCardJavaTV……Java程序設計語言Java語言是一種廣泛使用的高水平的程序設計語言,是一個有力的軟件平臺。這個語言平臺為軟件開發(fā)提供了一整套必備的工具和功能實現(xiàn),具體如以下的功能:開發(fā)工具:提供編譯、運行、監(jiān)視、調(diào)試和應用程序文檔生成等開發(fā)工具。對于初學者,主要使用的工具有:編譯工具javac,運行工具java,文檔生成工具javadoc。應用程序接口API:API提供Java程序設計語言的核心功能。比方隊列,網(wǎng)絡,平安,XML,數(shù)據(jù)庫訪問。核心API包含的內(nèi)容非常大,具體可查閱SDK文檔。7部署技術:JDK提供了標準機制部署你的應用程序給最終用戶,例如JavaWebStart和Java技術。用戶界面工具箱:Swing和Java2Dtoolkits用于創(chuàng)立傳統(tǒng)的圖形用戶界面(GUIs)。其他功能綜合庫:包含如IDL,JDBC,JNDI,RMI,RMI-IIOP等。WhatdoesJavado?1.Android應用2.在金融業(yè)應用的效勞器程序3.網(wǎng)站4.軟件工具5.交易系統(tǒng)6.J2ME系統(tǒng)7.嵌入式領域8.大數(shù)據(jù)技術9.高頻交易的空間10.科學應用一些術語JDK〔JavaDevelopmentKit〕稱為Java開發(fā)包或Java開發(fā)工具,是一個編寫Java應用程序的程序開發(fā)環(huán)境JRE〔JAVARuntimeEnvironment〕,JRE是支持Java程序運行的標準環(huán)境J2RE〔Java2RuntimeEnvironment,Java運行環(huán)境〕,運行JAVA程序所必須的環(huán)境的集合,包含JVM標準實現(xiàn)及Java核心類庫J2EE〔Java2Platform,EnterpriseEdition〕是一個為大企業(yè)主機級的計算類型而設計的Java平臺J2ME〔JavaPlatform,MicroEdition〕,是為機頂盒、移動和PDA之類嵌入式消費電子設備提供的Java語言平臺,包括虛擬機和一系列標準化的JavaAPIJNI是JavaNativeInterface的縮寫,它提供了假設干的API實現(xiàn)了Java和其他語言的通信〔主要是C&C++〕。從Java1.1開始,JNI標準成為java平臺的一局部,它允許Java代碼和其他語言寫的代碼進行交互。JavaScript、applet、awt、jini、JavaBean、JDBC、JVM、Selvet2017.12TIOBE流行編程語言排名11Java程序開發(fā)和運行環(huán)境的組成:12Java程序設計語言是一種高級語言,用我們熟悉的字詞、句等表述需要計算機為我們做的事情。程序設計語言都要經(jīng)過編譯或解釋以便能在計算機上運行。同樣,使用Java語言也要經(jīng)過如下開發(fā)流程:Java語言程序開發(fā)過程編寫源程序在Java程序設計語言中,所有源代碼寫在一個擴展名是.java的純文本文件里。編譯源程序源文件通過Java編譯器(javac.exe)編譯成.class文件。.class文件不包含本地處理器的代碼,而是Java虛擬機機器語言代碼。它是一種在Java平臺上被解釋器解釋的平臺無關代碼,稱之為“字節(jié)碼”。執(zhí)行Java執(zhí)行工具(java)用來運行.class文件,它是一個解釋程序,又稱“Java虛擬機”,它負責解釋分解并執(zhí)行每個Java字節(jié)碼指令。Java程序的開發(fā)流程Java虛擬計算機簡稱“JVM”,它是以Java字節(jié)碼為機器指令碼的一種模擬機。Java虛擬機在許多不同的操作系統(tǒng)都是有效的,所以同樣的.class文件有能力運行在Windows、Solaris、Linux、MacOS等多種操作系統(tǒng)下,如圖:15Java語言程序開發(fā)工具Java開發(fā)工具是用于編寫編寫和生成Java程序。對于現(xiàn)有的計算機平臺,必須安裝Java開發(fā)工具箱,即JavaDevelopmentKit,簡稱“JDK”,才能夠運行和開發(fā)Java程序。JDK由Oracle公司提供,其安裝包可以從oracle公司的Java網(wǎng)站下載獲得。注意,Sun公司針對不同的平臺提供了各自不同的安裝包,下載時根據(jù)需要選擇下載。JDK僅為程序開發(fā)者提供了一個根本的Java程序編寫環(huán)境,對于那些大型的復雜的Java程序,需要一種綜合集成的大型集成開發(fā)工具。Java可以使用簡單的文本工具編寫程序,例如記事本、notepad++等。也可以使用IDE進行開發(fā)。集成開發(fā)環(huán)境〔簡稱IDE及IntegratedDevelopmentEnvironment的縮寫〕是用于提供程序開發(fā)環(huán)境的應用程序:一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具。集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能等一體化的開發(fā)軟件效勞套。所有具備這一特性的軟件或者軟件套〔組〕都可以叫做集成開發(fā)環(huán)境,可以獨立運行,也可以和其它程序并用。Java集成開發(fā)環(huán)境很多,比方IntelliJ,NeBeans,Eclipse等等。Java平臺平臺是程序運行的硬件和軟件環(huán)境。我們已經(jīng)了解的一些流行平臺像Windows、Linux、Solaris和MacOS等。多數(shù)平臺被描述成操作系統(tǒng)與硬件的復合體。Java平臺不同于其它平臺,它是一個純軟件平臺,在其它硬件根底平臺上運行,如以下圖:本地計算機系統(tǒng)Java虛擬機〔JVM)Xxx.class

二進制字節(jié)碼文件

Xxx.javajava源程序文件Java平臺有兩個局部:Java虛擬機(JavaVM)Java應用程序接口(JavaAPI)Java虛擬機是Java平臺的根底,是在各種不同的硬件根底平臺上的接入口。Java字節(jié)碼程序就是由它解釋并執(zhí)行,同時提供程序的運行環(huán)境。JavaAPI是一個巨大的,提供許多有用功能的,軟件組成的集合體。JavaAPI被組合在庫中,由相關的類和接口構成,這些庫稱做“包”。以下圖表示運行在Java平臺上的程序。圖中顯示,JavaAPI和虛擬機把程序與硬件隔離開,Java程序通過API在VM上運行。19Java虛擬機JVM提供以下定義:指令集〔Bytecodes是JVM的機器指令〕。存放器組類文件格式棧垃圾回收“堆”(實現(xiàn)內(nèi)存的動態(tài)分配和自動回收)內(nèi)存區(qū)域Java程序執(zhí)行時,首先虛擬機對要執(zhí)行的class文件裝載,然后對字節(jié)碼進行驗證,最后用解釋器對字節(jié)碼解釋執(zhí)行,以下圖是jvm的邏輯構造。類裝配器字節(jié)碼驗證器解釋器本地計算機系統(tǒng)代碼生成器JITcodegeneratorXxx.class加載代碼—類裝配器加載程序運行所需要的所有的類。類裝配器將本地文件系統(tǒng)的類的名字空間與從網(wǎng)絡資源來的類的名字空間分開。這樣就限制了特洛伊木馬程序,因為本地類總是首先加載。一旦所有的類被加載,可執(zhí)行程序的內(nèi)存布局就被確定了。內(nèi)存地址被分配給符號引用表,查找表被建立。由于內(nèi)存的布局出現(xiàn)在運行時刻,防止了對于代碼域的未授權的訪問。驗證代碼—字節(jié)碼驗證器java代碼在你的機器上執(zhí)行前要經(jīng)過幾個測試。字節(jié)碼驗證器測試代碼段的格式,檢查代碼段是否有非法代碼〔偽造指針,對象上的非法存取,試圖改變對象類型等〕。所有網(wǎng)絡來的類文件都要經(jīng)過字節(jié)碼驗證。執(zhí)行代碼—解釋器建立Java平臺和開發(fā)環(huán)境Java平臺的建立只需安裝JDK或JRE就可以完成。JRE是Java運行環(huán)境〔JavaRuntimeEnvironment〕縮寫,如果僅僅用來運行Java程序,僅安裝JRE就可以了。如果需要開發(fā)和運行Java程序,就必須安裝JDK。第一步:下載JDK。通常到sun的Java網(wǎng)站去下載JDK的安裝包程序,當然也可以從別的地方獲得。JDK安裝程序的文件名不同的版本可能有差異,這里以為例,它的安裝包程序文件名是。將文件下載到你的計算機某個文件夾,比方“download”文件夾,見以下圖。JDK安裝程序第二步:運行JDK安裝程序。與執(zhí)行其他程序一樣,用鼠標雙擊剛剛下載的JDK安裝程序,開始安裝JDK。在安裝過程中通常不用人為干預,安裝程序會自動安裝,當出現(xiàn)提示時只要用鼠標點擊“下一步”或“Next”按鈕即可。當安裝成功結束后,在計算機操作系統(tǒng)所在的磁盤上看到存放Java系統(tǒng)的文件夾,默認安裝目錄是:C:\Program以下圖顯示執(zhí)行jdk安裝文件JDK安裝目錄在JDK安裝目錄中包含有:開發(fā)工具:〔\bin〕指工具和實用程序,可幫助您開發(fā)、執(zhí)行、調(diào)試和保存以Java編程語言編寫的程序。Java用于運行Java程序,Javac用來把Java源程序(.java)編譯成能由Java解釋執(zhí)行字節(jié)碼程序(.class)。運行時環(huán)境:〔\jre〕由JDK使用的JavaRuntimeEnvironment(JRETM)的實現(xiàn)。JRE包括JavaTM虛擬機(JVMTM)、類庫以及其他支持執(zhí)行以JavaTM編程語言編寫的程序的文件。附加庫:〔\lib開發(fā)工具所需的其他類庫和支持文件。演示applet和應用程序:〔\demo〕JavaTM平臺的編程例如〔帶源代碼〕。包括使用Swing和其他Java基類以及Java平臺調(diào)試器體系結構的例如。樣例代碼:〔\sample〕某些JavaAPI的編程樣例〔帶源代碼〕。C頭文件:〔\include〕支持使用Java本機界面、JVMTM工具界面以及Java平臺的其他功能進行本機代碼編程的頭文件。源代碼:〔\src.zip〕組成Java核心API的所有類的JavaTM編程語言源文件〔即,java.*、javax.*和某些org.*包的源文件,但不包括com.sun.*包的源文件〕。第三步:設置JDK環(huán)境變量。通常JDK安裝完成后需要設置Java環(huán)境變量PATH和CLASSPATH。(1).PATH變量是操作系統(tǒng)用于查找可執(zhí)行文件的目錄集,格式如下:PATH=<PATH原有的內(nèi)容>;<JDK安裝目錄>\binJDK安裝完成以后需要將開發(fā)工具的存放目錄參加到PATH變量中,使得在編譯或執(zhí)行Java程序時操作系統(tǒng)能夠找到編譯程序javac或解釋程序java。(2).CLASSPATH變量是Java編譯器編譯用于查找相關類或接口的目錄集,也是Java解釋器用于查找相關類或接口的目錄集,格式如下:CLASSPATH=<class文件目錄>或<jar文件路徑名>[;...]這里<jar文件路徑名>由每個jar文件及存放它的目錄名組成,例如D:\ProgramFiles\Java\jdk1.6.0_16\lib\dt.jar多個路徑名之間用“;”分隔。在Windows系統(tǒng)下設置環(huán)境變量可以從控制面板的系統(tǒng)設置添加。這里以JDK1.6為例介紹環(huán)境變量的設置過程,假設JDK安裝的安裝路徑是在控制面板中翻開“系統(tǒng)”,選擇“高級”標簽見圖.然后“環(huán)境變量”按鈕翻開環(huán)境設置窗口,見圖.在“系統(tǒng)變量”中選擇“Path”,然后安下“編輯”按鈕彈出“編輯系統(tǒng)變量”窗口。在“變量名”中Path

中添加

;C:\ProgramData\Oracle\Java\javapath;最后按下“確定”。在“變量名”中添加 JAVA_HOME在“變量值”中添加

D:\Program最后按下“確定”。在“系統(tǒng)變量”中后按下“新建”按鈕。在“變量名”中輸入CLASSPATH。在“變量值”中依次輸入以下內(nèi)容.;%JAVA_HOME%\lib;(省略)按下“確定”。Java平臺建立(即安裝JDK)完成后就可以運行或開發(fā)Java程序了。JDK提供了根本的Java開發(fā)工具,這些工具放在JDK安裝目錄下的bin目錄。但是,對于復雜大型的Java程序是不能滿足要求,需要專門的集成開發(fā)工具。下面分別介紹JDK提供主要工具軟件,并對目前常用的集成開發(fā)工具做簡單介紹。(1)JDK開發(fā)工具JDK開發(fā)工具包括工具和實用程序,可幫助開發(fā)、執(zhí)行、調(diào)試和保存以Java編程語言編寫的程序。在這些程序中主要工具程序有:編譯工具Javac,解釋工具Java,文檔生成工具,Java平臺調(diào)試工具等。建立Java開發(fā)環(huán)境

JavacJava編譯器,將Java源程序編譯成字節(jié)碼,生成class文件。在bin目錄下,文件名稱是javac.exe。命令格式:javac[選項]源文件[類][@argfiles]其中,選項–編譯參數(shù)。源文件–一個或多個需要編譯的java源程序文件。

類–一個或多類。@argfiles–參數(shù)文件。使用例如:編譯Java源程序HelloWorldApp.java。

JavaJava解釋器,直接從類文件執(zhí)行Java應用程序,即application。命令格式:java[選項]類[參數(shù)...]java[選項]-jarjar文件[參數(shù)...]javaw[選項]類[參數(shù)...]javaw[選項]-jarjar文件[參數(shù)...]其中,選項–運行參數(shù)。類–被調(diào)用的類的名稱。-jarjar文件–被調(diào)用的jar文件名稱。參數(shù)–傳送給main方法的參數(shù)串。使用例如:執(zhí)行Java類HelloWorldApp.class。Java〔源)程序結構

Java程序是由一個或多個編譯單元構成,每個編譯單元都一個以.java為擴展名的文本文件,又稱Java源程序文件。在java編譯單元(源程序)中包含幾種不同的元素,即:package語句import語句類(class)聲明或接口(interface)聲明語句一個程序可包括假設干個類。各類之間存在并列、繼承和包含關系。這些類通常是在一起協(xié)同工作的。編程只能在方法中。類和方法中的語句包含在“{”和“}”之間。每條語句以分號“;”結尾。語句由表達式、變量、字面值和關鍵字構成。編譯后每個類產(chǎn)生一個.class文件。package包名稱;import包名.類;class類名1{域定義方法名1〔〕{……}方法名2〔〕{……..}……}……publicclassLotsHelloApplication{ publicstaticvoidmain(String[]args) { for(intj=0;j<5;j++) {System.out.println(“Hello!World,”); } }}類聲明與定義類中的方法語句結尾以分號標志用大括號括起語句組Java例如程序:LotsHellosApplication.javaJava常用幾種類型Client機Server機Browser網(wǎng)頁字節(jié)碼Application〔Java應用程序〕“Java應用程序”是可以獨立運行的Java程序。由Java解釋器控制執(zhí)行。Applet(Java小程序,已過時)“Java小程序”不能獨立運行,而是被嵌入到Web頁中。由Java兼容瀏覽器控制執(zhí)行。ServletJava技術對CGI編程的解決方案。運行于Webserver上的、作為來自于Webbrowser或其他HTTPclient端的請求和在server上的數(shù)據(jù)庫及其他應用程序之間的中間層程序。Servlets的工作是:讀入用戶發(fā)來的數(shù)據(jù)。找出隱含在HTTP請求中的其他請求信息。產(chǎn)生結果。格式化結果〔網(wǎng)頁〕。設置HTTPresponse參數(shù)。將文檔返回給客戶端。Android應用程序Android是Google的基于Linux平臺開源的操作系統(tǒng)名稱。該平臺由操作系統(tǒng)、中間件、用戶軟件和應用軟件組成。目前開發(fā)android應用程序主要使用Java和C++語言。Application程序根本結構publicclassHelloApplication{publicstaticvoidmain(Stringargs[]){ System.out.println("Hello,Javaworld!");}}由一個或多個“類”組成。其中必須有一個“類”定義了main()方法,該方法是自動執(zhí)行的類方法,是Java應用運行的起始點。而這個類也就稱之為“主類”。Java程序源文件名要與主類名同名〔包括大小寫一個類產(chǎn)生一個.class文件。例如HelloApplication.java。Application程序上機過程編輯源程序EditHelloApplication.java〔dos命令〕使用notepad編輯器編輯java源程序更為方便。編譯—javacjavacHelloApplication.java產(chǎn)生HelloApplication.class文件解釋執(zhí)行—javajavaHelloApplication〔隱含.class文件)applet程序(在html5中被淘汰)importjava.awt.Graphics;importjava.applet.Applet;classHelloAppletextendsjava.applet.Applet{publicvoidinit(){}publicvoisstart(){}publicvoidpaint(Graphicsg){ g.drawString(“Hello,JavaWorld!”,10,20);}publicvoidstop(){}}源程序文件名:HelloApplet.java編譯java小程序

javacHelloApplet.java使用文本編輯建立test.html文件,嵌入HelloApplet.class<appletcode=HelloAppletwidth=200height=50></applet>瀏覽html文件使用appletviewer appletviewertest.html使用常規(guī)的瀏覽器applet小程序Servlet程序importjava.io.*;importjavax.servlet.*;importjavax.servlet..*;publicclassHelloWorldextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{response.setContentType("text/html");PrintWriterout=response.getWriter();out.println("<html>");out.println("<head>");out.println("<title>HelloWorld!</title>");out.println("</head>");out.println("<body>");out.println("<h1>HelloWorld!</h1>");out.println("</body>");out.println("</html>");}}Servlet類<%@pageimport="num.NumberGuessBean"%><jsp:useBeanid="numguess"class="num.NumberGuessBean"scope="session"/><jsp:setPropertyname="numguess"property="*"/><html><head><title>NumberGuess</title></head><bodybgcolor="white"><fontsize=4><%if(numguess.getSuccess()){%>

Congratulations!Yougotit.

Andafterjust<%=numguess.getNumGuesses()%>tries.<p>

<%numguess.reset();%>

Careto<ahref="numguess.jsp">tryagain</a>?<%}elseif(numguess.getNumGuesses()==0){%>

WelcometotheNumberGuessgame.<p>

I'mthinkingofanumberbetween1and100.<p>JSP頁面

<formmethod=get>

What'syourguess?<inputtype=textname=guess>

<inputtype=submitvalue="Submit">

</form><%}else{%>

Goodguess,butnope.Try<b><%=numguess.getHint()%></b>.

Youhavemade<%=numguess.getNumGuesses()%>guesses.<p>

I'mthinkingofanumberbetween1and100.<p>

<formmethod=get>

What'syourguess?<inputtype=textname=guess>

<inputtype=submitvalue="Submit">

</form><%}%></font></body></html>Android框架Android程序Android應用程序構成ActivityAvisualuserinterface通過view管理UI每一個有用戶界面的應用至少包含一個activity一個應用可以有多個activity,其中一個作為mainactivity用于啟動顯示Activity通過startActivity或startActivityForResult啟動另外的activityActivity通過onCreate被創(chuàng)立當一個activity失去焦點,該activity將進入pause狀態(tài),系統(tǒng)在內(nèi)存缺乏時會將其終止當一個activity被另一個activity覆蓋,該activity將進入stop狀態(tài),系統(tǒng)在需要內(nèi)存的時候會將其終止Activity生命周期packagecom.tutor.activitydemo;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論