第一章 java語言概述(4學(xué)時)_第1頁
第一章 java語言概述(4學(xué)時)_第2頁
第一章 java語言概述(4學(xué)時)_第3頁
第一章 java語言概述(4學(xué)時)_第4頁
第一章 java語言概述(4學(xué)時)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

面向?qū)ο蟪绦蛟O(shè)計第一章

Java語言概述目錄1.1Java語言的特點1.2Java運行環(huán)境與開發(fā)環(huán)境1.3Java程序舉例4學(xué)時面向?qū)ο蟀踩云脚_無關(guān)性多線程Java不支持指針Java的內(nèi)部安全措施

編譯后的字節(jié)碼對應(yīng)于Java虛擬機,因此可在不同平臺上運行Java是第一個在語言級提供內(nèi)置多線程支持的高級語言1.1Java語言的特點組成Java程序的最小單位是類,類封裝了數(shù)據(jù)與處理數(shù)據(jù)的方法。對于大多數(shù)常用的功能,有大量已經(jīng)編譯好、經(jīng)過測試的類,這些類的集合就是Java類庫。Java類庫主要是隨編譯器一起提供,也有些類庫是由獨立軟件開發(fā)商提供的。內(nèi)存管理Java對內(nèi)存自動進行管理并進行垃圾回收Java與C++的區(qū)別Java語言是一種功能強大語言,但幾乎沒有一點含混的特征。C++安全性不好,但C和C++還是被大家所接受,所以Java使用了類似于C/C++的語法,而去除了C/C++中許多不合理的內(nèi)容,以實現(xiàn)其簡單、健壯、安全等特性。1)全局變量2)指針3)內(nèi)存管理4)類型轉(zhuǎn)換區(qū)別:5)結(jié)構(gòu)和聯(lián)合6)預(yù)處理7)多重繼承內(nèi)存管理:C++通過運算符new和delete分配和釋放內(nèi)存,再次釋放已釋放的內(nèi)存塊或釋放未分配的內(nèi)存塊會造成系統(tǒng)崩潰,忘記釋放不再使用的內(nèi)存塊會逐漸耗盡系統(tǒng)資源。Java對內(nèi)存自動進行管理并進行垃圾回收;全局變量:Java中沒有全局變量,可以在類中定義公用、靜態(tài)的數(shù)據(jù)成員實現(xiàn)相同功能;指針:指針是C++中最靈活但也最容易出錯的數(shù)據(jù)類型,以指針進行內(nèi)存操作常造成不可預(yù)知的錯誤。Java不支持指針,對內(nèi)在的訪問經(jīng)過對象的實例變量實現(xiàn);結(jié)構(gòu)和聯(lián)合:C/C++的結(jié)構(gòu)(structure)和聯(lián)合(union)的成員均為公有,Java不支持structure,union,所有內(nèi)容被封裝在類中;多重繼承:Java不支持多重繼承,只支持單重繼承。預(yù)處理:Java中沒有#include和#define等預(yù)處理功能,用import語句來包含其它類和包;類型轉(zhuǎn)換:C++可通過指針進行任意類型轉(zhuǎn)換,導(dǎo)致不安全的可能性存在,java語言中要對對象的進行相容性檢查,防止不安全的轉(zhuǎn)換;1.2Java運行環(huán)境與開發(fā)環(huán)境1.2.1Java的產(chǎn)生與發(fā)展1991年,當初Sun公司的JamesGosling開展了一個名為“Green”的項目,主要目的是開拓消費類電子產(chǎn)品市場,即OAK語言,希望用于控制嵌入在有線電視交換盒、PDA等的微處理器。1993年交互式電視和PDA市場開始滑坡,而Internet正處于增長時期,因此Sun公司將目標市場轉(zhuǎn)向Internet應(yīng)用程序。Jdk、java百度百科了解java相關(guān)基礎(chǔ)

1995年5月23,SunWorld大會,正式發(fā)布這項技術(shù)1995年Sun公司的HotJava瀏覽器問世1996年發(fā)布了Java1.01997年2月,Java的開發(fā)包Javav1.1發(fā)布1998年12月,Sun公司發(fā)布了Java2平臺。2003年發(fā)布了J2sdk1.42004年,發(fā)布J2sdk1.5(JDK5)2008年,發(fā)布JDK62010年,發(fā)布JDK72010年10月,sun公司被Oracle公司收購Java2平臺:企業(yè)計算:Java2EnterpriseEdition(J2EE)桌面計算:Java2StandardEdition(J2SE)嵌入計算:Java2MicroEdition(J2ME)為企業(yè)計算提供一個應(yīng)用服務(wù)器的運行和開發(fā)平臺,是一個開放的標準,任何廠商都可推出自己的符合J2EE標準的產(chǎn)品。如BEA公司的Weblogic,IBM公司的WebSphere。從JDK5.0開始,改名為JavaEE。為臺式機或工作站提供一個開發(fā)和運行的平臺。>JavaSE為電子消費產(chǎn)品提供一個java的運行平臺,使得java能夠在手機、機頂盒、PDA等產(chǎn)品上運行。>JavaME1.2.2Java運行及開發(fā)環(huán)境Java程序編譯執(zhí)行的過程Writeonce,runanywhereJava運行環(huán)境(JavaRuntimeEnvironment,JRE)由Java虛擬機、Java的核心類、以及一些支持文件組成??梢缘顷慡un公司的網(wǎng)站/j2se免費下載Java的JRE。一、Java運行環(huán)境(JRE)Java程序JavaAPIJava虛擬機計算機系統(tǒng)1、Java虛擬機(JavaVirtualMachine,JVM)Java虛擬機是軟件模擬的計算機,可以在任何處理器上(無論是在計算機中還是在其它電子設(shè)備中)安全并且兼容的執(zhí)行保存在.class文件中的字節(jié)碼。Java程序的跨平臺特性主要是指字節(jié)碼文件可以在任何具有Java虛擬機環(huán)境的計算機或者電子設(shè)備上運行。Java虛擬機中的Java解釋器(java.exe)負責(zé)將字節(jié)碼文件解釋成為特定的機器碼并執(zhí)行。但是,Java虛擬機的建立需要針對不同的軟硬件平臺做專門的實現(xiàn),既要考慮處理器的型號,也要考慮操作系統(tǒng)的種類。目前在SPARC結(jié)構(gòu)、X86結(jié)構(gòu)、MIPS和PPC等嵌入式處理芯片上,在UNIX、Linux、Windows和部分實時操作系統(tǒng)上都實現(xiàn)了Java虛擬機。

2、JavaAPI(ApplicationProgrammingInterface)JavaCoreAPI:由Sun制定的基本API,任何Java平臺都必須提供。JavaStandardEXtensionAPI(javax):由Sun制定的擴充API,Java平臺可以選擇性地提供或加裝。廠商或組織所提供的API:由各家公司或組織所提供。J2SE軟件開發(fā)工具包J2SDK:二、Java開發(fā)環(huán)境下載地址/technetwork/java/javase/downloads/index.html下載文件jdk_8u91_windows_x64.exe

安裝直接運行“jdk_8u91_windows_x64.exe”。1.安裝:以jdk6為例bin目錄:編譯器:javac.exe調(diào)試器:jdb.exe解釋器:java.exe、appletviwer.exe文檔制作工具:javadoc.exejre目錄:Java運行環(huán)境(JRE)demo目錄:

保存了許多java的例子lib目錄:

保存了Java的類庫文件安裝后:2.配置環(huán)境變量PATH:該環(huán)境變量指定一個路徑列表,用于搜索可執(zhí)行文件。Java的編譯命令(javac),執(zhí)行命令(java)和一些工具命令(javadoc,jdb等)都在其安裝路徑下的bin目錄中。CLASSPATH:該環(huán)境變量指定一個路徑列表,用于搜索Java編譯或者運行時需要用到的類。在CLASSPATH列表中除了可以包含路徑外,還可以包含.jar文件。通常需要把JDK安裝路徑下的jre\lib\tools.jar包含在CLASSPATH中。在系統(tǒng)環(huán)境變量中設(shè)置PATH和CLASSPATH對于Window2000/NT/XP操作系統(tǒng),用鼠標右鍵點擊”我的電腦”,彈出菜單,然后選擇屬性,彈出”系統(tǒng)屬性”對話框,再單擊該對話框中的“高級”選項,然后點擊按鈕”環(huán)境變量”,添加或編輯如下的系統(tǒng)環(huán)境變量:名:PATH值:C:\ProgramFiles\Java\jdk1.6.0_12\bin;名:CLASSPATH值:.;C:\ProgramFiles\Java\jdk1.6.0_12\lib\tools.jar;3.安裝Java幫助文檔下載地址/technetwork/java/javase/downloads/index.html下載文件jdk-8u91-docs-all.zip安裝解壓“jdk-8u91-docs-all.zip”。通常放在JDK所在目錄的docs子目錄下面。用瀏覽器打開docs子目錄下的index.html文件就可以閱讀到該幫助文檔的首頁應(yīng)用程序在計算機中單獨運行,而小程序只能嵌在HTML網(wǎng)頁中運行。Servlet是運行在服務(wù)器端的程序,它可以處理客戶傳來的請求(request),然后傳給客戶端(response)。Java程序分成三類:

application(應(yīng)用程序)applet(小程序)

servlet(服務(wù)器端程序)1.3Java程序舉例類名首字母大寫;方法名首字母小寫,如果含多個單詞,后面的單詞首字母大寫;開始與結(jié)束:{}加注釋;包名小寫。好的Java編程習(xí)慣:可獨立運行可使用自己的主窗口、標題欄和菜單程序可大可小能夠以命令行方式運行主類(public類)必須有一個主方法main(),作為程序運行的入口源文件名稱和主類名稱一致1.3.1Application程序Application舉例1-1:publicclassMyClass{privateintval1,val2;publicvoidmyFun(intx,inty){ val1=x; val2=y; System.out.println("Thesumis:"+(val1+val2)); } publicstaticvoidmain(Stringarg[]){ MyClassMyObj=newMyClass(); MyObj.myFun(1,2); }}使用如下命令編譯并運行程序:javacMyClass.javajavaMyClass運行結(jié)果如下:Thesumis:3練習(xí):在命令行窗口顯示“大家好!”。例1-2:從m個數(shù)中抽出n個數(shù),試計算中獎的概率。該例演示如何從可視化組件輸入數(shù)據(jù)并轉(zhuǎn)換成整形數(shù)據(jù),然后從命令窗口輸出數(shù)據(jù)。importjavax.swing.*;publicclassProba{publicstaticvoidmain(String[]args){Stringinput=JOptionPane.showInputDialog("你希望抽取多少個數(shù)?");intk=Integer.parseInt(input);input=JOptionPane.showInputDialog("一共有多少個數(shù)?");intn=Integer.parseInt(input);intresult=1;for(inti=1;i<=k;i++){result=result*(n-i+1)/i;}System.out.println("你中獎的幾率是1/"+result);}}運行于支持Java的Web瀏覽器中Applet和Application的差別:運行環(huán)境的不同,小應(yīng)用程序總是放在Web瀏覽器的圖形用戶界面中1.3.2Applet程序Applet的優(yōu)點Web瀏覽器軟件包括很多小應(yīng)用程序運行所需的功能Applet的局限性在客戶端主機的文件系統(tǒng)中讀/寫受限不能運行客戶端主機的任何程序僅能在服務(wù)器和客戶端之間建立聯(lián)系importjava.awt.Graphics;importjava.applet.Applet;publicclassMyAppletextendsApplet{ publicStrings; publicvoidinit(){s=newString("HelloWorld!");} publicvoidpaint(Graphicsg){g.drawString(s,25,25);}}Applet舉例1-3:MyApplet.javaGraphics類使得applet繪制直線、矩形、橢圓形、字符串等。方法init()初始化,實現(xiàn)了字符串的創(chuàng)建。方法paint()中g(shù)為Graphics類的對象。調(diào)用了Graphics的drawString方法繪制字符串。此方法執(zhí)行的結(jié)果就是從坐標(25,25)開始繪制出字符串HelloWorld!。HTML文件:MyApplet.html<html><head><title>MyApplet</Applet></head><body><appletcode=MyApplet.classwidth=400height=400></applet></body></html>用Java自帶的appletviewer命令運行網(wǎng)頁:appletviewerMyApplet.html運行在服務(wù)器端,響應(yīng)客戶端請求,擴展了服務(wù)器的功能運行Servlet需要服務(wù)器的支持,需要在服務(wù)器中進行部署所有的servlet都必須實現(xiàn)Servlet接口1.3.3Servlet程序importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;publicclassMyFirstServletextendsHttpServlet{protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//設(shè)置編碼,解決中文問題response.setContentType("text/html;charset=gb2312");PrintWriterout=response.getWriter();Servlet舉例1-4:out.println("<html>");out.println("<head>");out.println("<title>Servlet應(yīng)用程序</title>");out.pr

溫馨提示

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

評論

0/150

提交評論