亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語(yǔ)言

java入門(mén)基礎(chǔ)教程

時(shí)間:2024-09-27 08:36:55 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

java入門(mén)基礎(chǔ)教程

  讓生活的句號(hào)圈住的人,是無(wú)法前時(shí)半步的以下是小編為大家搜索整理了java入門(mén)基礎(chǔ)教程,希望能給大家?guī)?lái)幫助!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  第一章Java語(yǔ)言的產(chǎn)生及其特點(diǎn)

  1.1Java產(chǎn)生的歷史與現(xiàn)狀

  1.1.1Java產(chǎn)生的歷史

  Java來(lái)自于Sun公司的一個(gè)叫Green的項(xiàng)目,其原先的目的是為家用消費(fèi)電子產(chǎn)品開(kāi)發(fā)一個(gè)分布式代碼系統(tǒng),這樣我們可以把E-mail發(fā)給電冰箱、電視機(jī)等家用電器,對(duì)它們進(jìn)行控制,和它們進(jìn)行信息交流。開(kāi)始,準(zhǔn)備采用C++,但C++太復(fù)雜,安全性差,最后基于C++開(kāi)發(fā)一種新的語(yǔ)言O(shè)ak(Java的前身),Oak是一種用于網(wǎng)絡(luò)的精巧而安全的語(yǔ)言,Sun公司曾依此投標(biāo)一個(gè)交互式電視項(xiàng)目,但結(jié)果是被SGI打敗?蓱z的Oak幾乎無(wú)家可歸,恰巧這時(shí)MarkArdreesen開(kāi)發(fā)的Mosaic和Netscape啟發(fā)了Oak項(xiàng)目組成員,他們用Java編制了HotJava瀏覽器,得到了Sun公司首席執(zhí)行官ScottMcNealy的支持,觸發(fā)了Java進(jìn)軍Internet。Java的取名也有一個(gè)趣聞,有一天,幾位Java成員組的會(huì)員正在討論給這個(gè)新的語(yǔ)言取什么名字,當(dāng)時(shí)他們正在咖啡館喝著Java(爪哇)咖啡,有一個(gè)人靈機(jī)一動(dòng)說(shuō)就叫Java怎樣,得到了其他人的贊賞,于是,Java這個(gè)名字就這樣傳開(kāi)了。

  1.1.2Java的現(xiàn)狀

  Java是Sun公司推出的新的一代面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,特別適合于Internet應(yīng)用程序開(kāi)發(fā),它的平臺(tái)無(wú)關(guān)性直接威脅到Wintel的壟斷地位。一時(shí)間,“連Internet,用Java編程”,成為技術(shù)人員的一種時(shí)尚。雖然新聞界的報(bào)導(dǎo)有些言過(guò)其實(shí),但Java作為軟件開(kāi)發(fā)的一種革命性的技術(shù),其地位已被確立,這表現(xiàn)在以下幾個(gè)方面:

  1.計(jì)算機(jī)產(chǎn)業(yè)的許多大公司購(gòu)買(mǎi)了Java的許可證,包括

  IBM,Apple,DEC,Adobe,SiliconGraphics,HP,Oracel,Toshiba,以及最不情愿的Microsoft。這一點(diǎn)說(shuō)明,Java已得到了工業(yè)界的認(rèn)可。

  2.眾多的軟件開(kāi)發(fā)商開(kāi)始支持Java的軟件產(chǎn)品。例如:Borland公司正在開(kāi)發(fā)的基于Java的快速應(yīng)用程序開(kāi)發(fā)環(huán)境Latte,預(yù)計(jì)產(chǎn)品會(huì)在1996年中期發(fā)布。Borland公司的這一舉措,推動(dòng)了Java進(jìn)入PC機(jī)軟件市場(chǎng)。Sun公司自己的Java開(kāi)發(fā)環(huán)境JavaWorkshop已經(jīng)發(fā)布。數(shù)據(jù)庫(kù)廠商如:

  Illustra,Sysbase,Versant,Oracle都在開(kāi)發(fā)CGI接口,支持HTML和Java。今天是以網(wǎng)絡(luò)為中心的計(jì)算時(shí)代,不支持HTML和Java,應(yīng)用程序的應(yīng)用范圍只能限于同質(zhì)的環(huán)境(相同的硬件平臺(tái))。

  3.Intranet正在成為企業(yè)信息系統(tǒng)最佳的解決方案,而其中Java將發(fā)揮不可替代的作用。Intranet的目的是把Internet用于企業(yè)內(nèi)部的信息系統(tǒng),它的優(yōu)點(diǎn)

  表現(xiàn)在:便宜,易于使用和管理。用戶不管使用何種類(lèi)型的機(jī)器和操作系統(tǒng),界面是統(tǒng)一的Intrnet瀏覽器,而數(shù)據(jù)庫(kù)、Web頁(yè)面、應(yīng)用程序(用Java編的Applet)則存在WWW服務(wù)器上,無(wú)論是開(kāi)發(fā)人員,還是管理人員,抑或是用戶都可以受益于該解決方案。Java語(yǔ)言正在不斷發(fā)展和完善,Sun公司是主要的發(fā)展推動(dòng)者,較通用的編譯環(huán)境有JDK(JavaDevelopKit)與JWS(JavaWorkshop)。還有很多其他公司正在開(kāi)發(fā)Java語(yǔ)言的編譯器與集成環(huán)境,預(yù)計(jì)不久Java語(yǔ)言的正確性與效率都將會(huì)提高,用戶用Java編程和現(xiàn)在用C++編程一樣方便。

  1.2Java語(yǔ)言的特點(diǎn)

  Java到底是一種什么樣的語(yǔ)言呢?Java是一種簡(jiǎn)單的面象對(duì)象的分布式的解釋的健壯的安全的結(jié)構(gòu)中立的可移植的性能很優(yōu)異的多線程的動(dòng)態(tài)的語(yǔ)言。

  1.2.1簡(jiǎn)單

  Java最初是為對(duì)家用電器進(jìn)行集成控制而設(shè)計(jì)的一種語(yǔ)言,因此它必須簡(jiǎn)單明了。Java語(yǔ)言的簡(jiǎn)單性主要體現(xiàn)在以下三個(gè)方面:

  1.Java的風(fēng)格類(lèi)似于C++,因而C++程序員是非常熟悉的。從某種意義上講,Java語(yǔ)言是C及C++語(yǔ)言的一個(gè)變種,因此,C++程序員可以很快就掌握J(rèn)ava編程技術(shù)。

  2.Java摒棄了C++中容易引發(fā)程序錯(cuò)誤的地方,如指針和內(nèi)存管理。

  3.Java提供了豐富的類(lèi)庫(kù)。

  1.2.2面向?qū)ο?/strong>

  面向?qū)ο罂梢哉f(shuō)是Java最重要的特性。Java語(yǔ)言的設(shè)計(jì)完全是面向?qū)ο蟮,它不支持?lèi)似C語(yǔ)言那樣的面向過(guò)程的程序設(shè)計(jì)技術(shù)。Java支持靜態(tài)和動(dòng)態(tài)風(fēng)格的代碼繼承及重用。單從面向?qū)ο蟮奶匦詠?lái)看,Java類(lèi)似于SmallTalk,但其它特性、尤其是適用于分布式計(jì)算環(huán)境的特性遠(yuǎn)遠(yuǎn)超越了SmallTalk。

  1.2.3分布式

  Java包括一個(gè)支持HTTP和FTP等基于TCP/IP協(xié)議的子庫(kù)。因此,Java應(yīng)用程序可憑借URL打開(kāi)并訪問(wèn)網(wǎng)絡(luò)上的對(duì)象,其訪問(wèn)方式與訪問(wèn)本地文件系統(tǒng)幾乎完全相同。為分布環(huán)境尤其是Internet提供動(dòng)態(tài)內(nèi)容無(wú)疑是一項(xiàng)非常宏偉的任務(wù),但Java的語(yǔ)法特性卻使我們很容易地實(shí)現(xiàn)這項(xiàng)目標(biāo)。

  1.2.4健壯

  Java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類(lèi)型檢查幫助檢查出許多開(kāi)發(fā)早期出現(xiàn)的錯(cuò)誤。Java自已操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。Java還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。這種功能特征大大縮短了開(kāi)發(fā)Java應(yīng)用程序的周期。Java提供:Null指針檢測(cè)數(shù)組邊界檢測(cè)異常出口字節(jié)代碼校驗(yàn)

  1.2.5結(jié)構(gòu)中立

  另外,為了建立Java作為網(wǎng)絡(luò)的一個(gè)整體,Java將它的程序編譯成一種結(jié)構(gòu)中立的中間文件格式。只要有Java運(yùn)行系統(tǒng)的機(jī)器都能執(zhí)行這種中間代碼,F(xiàn)在,Java運(yùn)行系統(tǒng)有Solaris2.4(SPARC),Win32系統(tǒng)(Windows95和WindowsNT)等.Java源程序被編譯成一種高層次的與機(jī)器無(wú)關(guān)的byte-code格式語(yǔ)言,這種語(yǔ)言被設(shè)計(jì)在虛擬機(jī)上運(yùn)行,由機(jī)器相關(guān)的運(yùn)行調(diào)試器實(shí)現(xiàn)執(zhí)行。

  1.2.6安全

  Java的安全性可從兩個(gè)方面得到保證。一方面,在Java語(yǔ)言里,象指針和釋放內(nèi)存等C++功能被刪除,避免了非法內(nèi)存操作。另一方面,當(dāng)Java用來(lái)創(chuàng)建瀏覽器時(shí),語(yǔ)言功能和一?copy;瀏覽器本身提?copy;的功能結(jié)合起來(lái),使它更安全。Java語(yǔ)言在你的機(jī)器上執(zhí)行前,要經(jīng)過(guò)很多次的測(cè)試。它經(jīng)過(guò)代碼校驗(yàn),檢查代碼段的格式,檢測(cè)指針操作,對(duì)象操作是否過(guò)分以及試圖改變一個(gè)對(duì)象的類(lèi)型。

  1.2.6.1Byte-code校驗(yàn)

  如果byte-code通過(guò)代碼校驗(yàn),沒(méi)有返回錯(cuò)誤,我們可知道:代碼沒(méi)有堆棧上溢出和下溢出所有操作代碼參數(shù)類(lèi)型都是正確的沒(méi)有發(fā)生非法數(shù)據(jù)轉(zhuǎn)換,如將整數(shù)轉(zhuǎn)換成指針。訪問(wèn)對(duì)象操作是合法的

  1.2.6.2類(lèi)裝載

  ClassLoader通過(guò)將本機(jī)類(lèi)與網(wǎng)絡(luò)資源類(lèi)的名稱(chēng)分開(kāi),來(lái)保持安全性。因?yàn)檎{(diào)入類(lèi)時(shí)總要經(jīng)過(guò)檢查,這樣避免了特洛伊木馬現(xiàn)象的出現(xiàn)。從網(wǎng)絡(luò)上下載的類(lèi)被調(diào)進(jìn)一個(gè)與源相關(guān)的私有的名字域。當(dāng)一個(gè)私有類(lèi)訪問(wèn)另一個(gè)類(lèi)時(shí),build-in(本機(jī)類(lèi))首先被檢查,然后檢查相關(guān)的類(lèi)。這樣就避免了破壞本機(jī)類(lèi)情況的出現(xiàn)。

  1.2.7可移植的

  同體系結(jié)構(gòu)無(wú)關(guān)的特性使得Java應(yīng)用程序可以在配備了Java解釋器和運(yùn)行環(huán)境的任何計(jì)算機(jī)系統(tǒng)上運(yùn)行,這成為Java應(yīng)用軟件便于移植的良好基礎(chǔ)。但僅僅如此還不夠。如果基本數(shù)據(jù)類(lèi)型設(shè)計(jì)依賴(lài)于具體實(shí)現(xiàn),也將為程序的移植帶來(lái)很大不便。例如在Windows3.1中整數(shù)(Integer)為16bits,在Windows95中整數(shù)為32bits,在DECAlpha中整數(shù)為64bits,在Intel486中為32bits。通過(guò)定義獨(dú)立于平臺(tái)的基本數(shù)據(jù)類(lèi)型及其運(yùn)算,Java數(shù)據(jù)得以在任何硬件平臺(tái)上保持一

  致。Java語(yǔ)言的基本數(shù)據(jù)類(lèi)型及其表示方式如下:byte8-bit二進(jìn)制補(bǔ)碼short16-bit二進(jìn)制補(bǔ)碼int32-bit二進(jìn)制補(bǔ)碼long64-bit二進(jìn)制補(bǔ)碼

  float32-bitIEEE754浮點(diǎn)數(shù)double32-bitIEEE754浮點(diǎn)數(shù)char16-bitUnicode字符

  在任何Java解釋器中,數(shù)據(jù)類(lèi)型都是依據(jù)以上標(biāo)準(zhǔn)具體實(shí)現(xiàn)的。因?yàn)閹缀跄壳笆褂玫乃蠧PU都能支持以上數(shù)據(jù)類(lèi)型、8~64位整數(shù)格式的補(bǔ)碼運(yùn)算和單/雙精度浮點(diǎn)運(yùn)算。Java編譯器本身就是用Java語(yǔ)言編寫(xiě)的。Java運(yùn)算系統(tǒng)的編制依據(jù)POSIX方便移植的限制,用ANSIC語(yǔ)言寫(xiě)成。Java語(yǔ)言規(guī)范中也沒(méi)有任何"同具體實(shí)現(xiàn)相關(guān)"的內(nèi)容。

  1.2.8解釋的

  Java解釋器(運(yùn)行系統(tǒng))能直接運(yùn)行目標(biāo)代碼指令。鏈接程序通常比編譯程序所需資源少,所以程序員可以在創(chuàng)建源程序上花上更多的時(shí)間。

  1.2.9高性能

  如果解釋器速度不慢,Java可以在運(yùn)行時(shí)直接將目標(biāo)代碼翻譯成機(jī)器指令。Sun用直接解釋器一秒鐘內(nèi)可調(diào)用300,000個(gè)過(guò)程。翻譯目標(biāo)代碼的速度與C/C++的性能沒(méi)什么區(qū)別。

  1.2.10多線程

  Java提?copy;的多線程功能使得在一個(gè)程序里可同時(shí)執(zhí)行多個(gè)小任務(wù)。線程--有時(shí)也稱(chēng)小進(jìn)程--是一個(gè)大進(jìn)程里分出來(lái)的小的獨(dú)立的進(jìn)程。因?yàn)镴ava實(shí)現(xiàn)的多線程技術(shù),所以比C和C++更鍵壯。多線程帶來(lái)的更大的好處是更好的交互性能和實(shí)時(shí)控制性能。當(dāng)然實(shí)時(shí)控制性能還取決于系統(tǒng)本身

  (UNIX,Windows,Macintosh等),在開(kāi)發(fā)難易程度和性能上都比單線程要好。任何用過(guò)當(dāng)前瀏覽器的人,都感覺(jué)為調(diào)一副圖片而等待是一件很煩惱的事情。在Java里,你可用一個(gè)單線程來(lái)調(diào)一副圖片,而你可以訪問(wèn)HTML里的其它信息而不必等它。

  1.2.11動(dòng)態(tài)

  Java的動(dòng)態(tài)特性是其面向?qū)ο笤O(shè)計(jì)方法的擴(kuò)展。它允許程序動(dòng)態(tài)地裝入運(yùn)行過(guò)程中所需要的類(lèi),這是C++語(yǔ)言進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)所無(wú)法實(shí)現(xiàn)的。在C++程序設(shè)計(jì)過(guò)程中,每當(dāng)在類(lèi)中增加一個(gè)實(shí)例變量或一種成員函數(shù)后,引用該類(lèi)的所有子類(lèi)都必須重新編譯,否則將導(dǎo)致程序崩潰。Java從如下幾方面采取措施來(lái)解決這個(gè)問(wèn)題。Java編譯器不是將對(duì)實(shí)例變量和成員函數(shù)的引用編譯為數(shù)值引用,而是將符號(hào)引用信息在字節(jié)碼中保存下傳遞給解釋器,再由解釋器在完成動(dòng)

  態(tài)連接類(lèi)后,將符號(hào)引用信息轉(zhuǎn)換為數(shù)值偏移量。這樣,一個(gè)在存儲(chǔ)器生成的對(duì)象不在編譯過(guò)程中決定,而是延遲到運(yùn)行時(shí)由解釋器確定的。這樣,對(duì)類(lèi)中的變量和方法進(jìn)行更新時(shí)就不至于影響現(xiàn)存的代碼。解釋執(zhí)行字節(jié)碼時(shí),這種符號(hào)信息的查找和轉(zhuǎn)換過(guò)程僅在一個(gè)新的名字出現(xiàn)時(shí)才進(jìn)行一次,隨后代碼便可以全速執(zhí)行。在運(yùn)行時(shí)確定引用的好處是可以使用已被更新的類(lèi),而不必?fù)?dān)心會(huì)影響原有的代碼。如果程序連接了網(wǎng)絡(luò)中另一系統(tǒng)中的某一類(lèi),該類(lèi)的所有者也可以自由地對(duì)該類(lèi)進(jìn)行更新,而不會(huì)使任何引用該類(lèi)的程序崩潰。Java還簡(jiǎn)化了使用一個(gè)升級(jí)的或全新的協(xié)議的方法。如果你的系統(tǒng)運(yùn)行Java程序時(shí)遇到了不知怎樣處理的程序,沒(méi)關(guān)系,Java能自動(dòng)下載你所需要的功能程序。

  1.3與C和C++語(yǔ)言的異同

  Java提供了一個(gè)功能強(qiáng)大語(yǔ)言的所有功能,但幾乎沒(méi)有一點(diǎn)含混特征。C++安全性不好,但C和C++還是被大家所接受,所以Java設(shè)計(jì)成C++形式,讓大家很容易學(xué)習(xí)。Java去掉了C++語(yǔ)言的許多功能,讓Java的語(yǔ)言功能很精煉,并增加了一些很有用的功能,Java去掉了以下幾個(gè)C和C++功能和特征:指針運(yùn)算結(jié)構(gòu)typedefs#define需要釋放內(nèi)存全局變量的定義這種功能都是很容易引起錯(cuò)誤的地方。

  1.4Java的應(yīng)用簡(jiǎn)介

  1.4.1Web瀏覽

  Web瀏覽是現(xiàn)在國(guó)際網(wǎng)甚至局域網(wǎng)的主要使用方式。文檔能很容易地顯示文本和各種圖片,他還能提供超文本鏈接。這些瀏覽器調(diào)用HTML語(yǔ)言寫(xiě)的文檔,HTML/WWW瀏覽器技術(shù)只限于文本和圖象。如果你想播放一種聲音或運(yùn)行一個(gè)演示程序,你不得不下載那個(gè)文件并用你本機(jī)上的能理解和運(yùn)行那個(gè)文件格式的程序來(lái)播放它。Java程序和它的瀏覽器HotJava,提供了可讓你的瀏覽器運(yùn)行程序的方法。你能從你的瀏覽器里直接播放聲音。你還能播放頁(yè)面里的動(dòng)畫(huà)。Java還能告訴你的瀏覽器怎樣處理新的類(lèi)型文件。當(dāng)我們能在2400baud線上傳輸視頻圖象時(shí),HotJava將能顯示這些視頻。

  1.4.2網(wǎng)絡(luò)應(yīng)用系統(tǒng)

  Java是一種與平臺(tái)無(wú)關(guān)的語(yǔ)言,因此用Java開(kāi)發(fā)的網(wǎng)絡(luò)應(yīng)用系統(tǒng)可以在各種平臺(tái)上運(yùn)行,大大增加了開(kāi)發(fā)效率,減少重復(fù)勞動(dòng)。而且,Java集成的網(wǎng)絡(luò)功能充分有利于開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用系統(tǒng)。

  小結(jié):1.Java的產(chǎn)生與流行是當(dāng)今internet發(fā)展的客觀要求2.java是一門(mén)各方面性能都很好的編程語(yǔ)言,它的基本特點(diǎn)是簡(jiǎn)單、面象對(duì)象、分布式、解釋的、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能很優(yōu)異的、多線程的、動(dòng)態(tài)的。?reg;分適合在internet環(huán)境上開(kāi)發(fā)應(yīng)用系統(tǒng)。3.java可以制作大部分網(wǎng)絡(luò)應(yīng)用程序系統(tǒng),而且與當(dāng)今流行的WWW瀏覽器結(jié)合得很好。

【java入門(mén)基礎(chǔ)教程】相關(guān)文章:

初學(xué)者JAVA學(xué)習(xí)入門(mén)09-11

Java入門(mén)教程:如何使用一個(gè)Java06-12

Java入門(mén)教程:常量和變量09-01

Java語(yǔ)言入門(mén)的幾個(gè)關(guān)鍵學(xué)習(xí)點(diǎn)07-27

java運(yùn)算符入門(mén)教程09-21

java常量和變量入門(mén)教程09-07

Java編程語(yǔ)言初學(xué)者入門(mén)課程07-04

php基礎(chǔ)教程10-10

計(jì)算機(jī)二級(jí)入門(mén)教程:Java類(lèi)的基本構(gòu)成06-19

關(guān)于linux Crontab 使用的基礎(chǔ)教程10-10