亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

java語(yǔ)言

java快速入門(mén)教程

時(shí)間:2025-03-15 02:14:33 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

java快速入門(mén)教程

  讓珊瑚遠(yuǎn)離驚濤駭浪的侵蝕嗎?那無(wú)異是將它們的美麗葬送。以下是小編為大家搜索整理了java快速入門(mén)教程,希望能給大家?guī)?lái)幫助!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  第一章 Java概述

  §1.1Java語(yǔ)言出現(xiàn)的背景、影響及應(yīng)用前景

  一、背景

  最近一年多來(lái),在Internet上出現(xiàn)的特別吸引人的事件就是Java語(yǔ)言和用 Java編寫(xiě)的瀏覽器HotJava。

  1991年,SUN MicroSystem公司的JameGosling、BillJoe等人,為在電 視、控制烤面包箱等家用消費(fèi)類(lèi)電子產(chǎn)品上進(jìn)行交互式操作而開(kāi)發(fā)了一個(gè)名為Oak 的軟件(即一種橡樹(shù)的名字),但當(dāng)時(shí)并沒(méi)有引起人們的注意,直到1994年下半 年,Internet的迅猛發(fā)展,環(huán)球信息網(wǎng)WWW的快速增長(zhǎng),促進(jìn)了Java語(yǔ)言研制的 進(jìn)展,使得它逐漸成為Internet上受歡迎的開(kāi)發(fā)與編程語(yǔ)言,一些著名的計(jì)算機(jī) 公司紛紛購(gòu)買(mǎi)了Java語(yǔ)言的使用權(quán),如MicroSoft、IBM、Netscape、Novell、 Apple、DEC、SGI等,因此,Java語(yǔ)言被美國(guó)的著名雜志PCMagazine評(píng)為1995 年十大優(yōu)秀科技產(chǎn)品,(計(jì)算機(jī)類(lèi)就此一項(xiàng)入選),隨之大量出現(xiàn)了用Java編寫(xiě)的 軟件產(chǎn)品,受到工業(yè)界的重視與好評(píng),認(rèn)為"Java是八十年代以來(lái)計(jì)算機(jī)界的一件 大事",微軟總裁比爾·蓋茨在悄悄地觀(guān)察了一段時(shí)間后,不無(wú)感慨地說(shuō):"Java是 長(zhǎng)時(shí)間以來(lái)最卓越的程序設(shè)計(jì)語(yǔ)言",并確定微軟整個(gè)軟件開(kāi)發(fā)的戰(zhàn)略從PC單機(jī)時(shí) 代向著以網(wǎng)絡(luò)為中心的計(jì)算時(shí)代轉(zhuǎn)移,而購(gòu)買(mǎi)Java則是他的重大戰(zhàn)略決策的實(shí)施部 署。

  因此,Java的誕生必將對(duì)整個(gè)計(jì)算機(jī)產(chǎn)業(yè)發(fā)生深遠(yuǎn)的影響,對(duì)傳統(tǒng)的計(jì)算模型 提出了新的挑戰(zhàn)。

  SUNMicroSystem公司的總裁ScottMcNealy認(rèn)為Java為Internet和WWW開(kāi) 辟了一個(gè)嶄新的時(shí)代。

  環(huán)球信息網(wǎng)WWW的創(chuàng)始人Berners-Lee說(shuō):"計(jì)算機(jī)事業(yè)發(fā)展的下一個(gè)浪潮就 是Java,并且將很快會(huì)發(fā)生的"。

  看來(lái),使用Java已成大勢(shì)所趨!

  MicroSoft和IBM兩大公司都計(jì)劃在Internet上銷(xiāo)售用Java編寫(xiě)的軟件。 Apple、HP、IBM、MicroSoft、Novell、SGI、SCO、Tandem等公司均 計(jì)劃將Java并入各自開(kāi)發(fā)的操作系統(tǒng),而負(fù)責(zé)開(kāi)發(fā)并推廣Java技術(shù)的SunSoft公 司(這是SUN下屬的一個(gè)子公司),將通過(guò)頒發(fā)許可證的辦法來(lái)允許各家公司把 Java虛擬機(jī)和Java的Applets類(lèi)庫(kù)嵌入他們開(kāi)發(fā)的操作系統(tǒng),這樣各類(lèi)開(kāi)發(fā)人員 就能更容易地選擇多種平臺(tái)來(lái)使用Java語(yǔ)言編程,不同的用戶(hù)也就可以脫離Web 瀏覽器來(lái)運(yùn)行Java應(yīng)用程序,這無(wú)疑是很受廣大用戶(hù)歡迎的,也為Java語(yǔ)言的應(yīng) 用開(kāi)拓了極為廣闊的前景。(當(dāng)然,各類(lèi)JavaOS之間的兼容性必須得到重視,好在 JavaSoft已保證將監(jiān)督這種兼

  容性)。

  另外,由JavaSoft推出的完全用Java編寫(xiě)的Internet上新型瀏覽器HotJava, 比去年alpha版更為實(shí)用,不僅能編制動(dòng)態(tài)的應(yīng)用軟件,而且能編制完整的成套桌 面應(yīng)用軟件,將來(lái)還會(huì)提供更多的能幫助編制動(dòng)態(tài)應(yīng)用軟件的模塊,顯然,這也是 為Java的應(yīng)用提供了有力的例證。

  今年6月7日,由SUN公司和臺(tái)灣經(jīng)濟(jì)事務(wù)部信息發(fā)展局、臺(tái)灣信息技術(shù)研 究所等單位牽頭,成立了一個(gè)"Java聯(lián)盟",參加的有22個(gè)在臺(tái)灣相當(dāng)著名的計(jì)算 機(jī)公司,并在臺(tái)北建立一個(gè)"Java開(kāi)發(fā)中心",在新竹建立一個(gè)"Java語(yǔ)言實(shí)驗(yàn)室", 以掀起臺(tái)灣開(kāi)發(fā)與應(yīng)用Java語(yǔ)言的熱潮。

  香港則在今年4月就舉行了全島的Java杯比賽,在計(jì)算機(jī)界掀起了學(xué)習(xí) Java的熱潮(尤其是在大學(xué)生們中,出現(xiàn)了一批Java迷)。

  有人預(yù)言:Java將是網(wǎng)絡(luò)上的"世界語(yǔ)",今后所有的用其他語(yǔ)言編寫(xiě)的軟 件統(tǒng)統(tǒng)都要用Java語(yǔ)言來(lái)改寫(xiě)。

  二、Java語(yǔ)言對(duì)軟件開(kāi)發(fā)技術(shù)的影響

  工業(yè)界不少人預(yù)言:"Java語(yǔ)言的出現(xiàn),將會(huì)引起一場(chǎng)軟件革命",這是因?yàn)?傳統(tǒng)的軟件往往都是與具體的實(shí)現(xiàn)環(huán)境有關(guān),換了一個(gè)環(huán)境就需要作一番改動(dòng),耗 時(shí)費(fèi)力,而Java語(yǔ)言能在執(zhí)行碼(二進(jìn)制碼)上兼容,這樣以前所開(kāi)發(fā)的軟件就 能運(yùn)行在不同的機(jī)器上,只要所用的機(jī)器能提供Java語(yǔ)言解釋器即可。

  Java語(yǔ)言將對(duì)未來(lái)軟件的開(kāi)發(fā)產(chǎn)生影響,可從如下幾個(gè)方面考慮:

  1軟件的需求分析:可將用戶(hù)的需求進(jìn)行動(dòng)態(tài)的、可視化描述,以提供設(shè)計(jì) 者更加直觀(guān)的要求。而用戶(hù)的需求是各色各樣的,不受地區(qū)、行業(yè)、部門(mén)、愛(ài)好的 影響,都可以用Java語(yǔ)言描述清楚。

  2軟件的開(kāi)發(fā)方法:由于Java語(yǔ)言的面向目標(biāo)的特性,所以完全可以用O-O 的技術(shù)與方法來(lái)開(kāi)發(fā),這是符合最新的軟件開(kāi)發(fā)規(guī)范要求的。

  3Java語(yǔ)言的動(dòng)畫(huà)效果遠(yuǎn)比GUI技術(shù)更加逼真,尤其是利用WWW提供的巨大 動(dòng)畫(huà)資源空間,可以共享全世界的動(dòng)態(tài)畫(huà)面的資源。

  4軟件最終產(chǎn)品:用Java語(yǔ)言 開(kāi)發(fā)的軟件可以具有可視化、可聽(tīng)化、可操 作化的效交互、動(dòng)畫(huà)與動(dòng)作",要它停就停,要它繼續(xù)就繼續(xù),而這是在電影與電 視播放過(guò)程中難以做到的。

  5其它:使用Java語(yǔ)言對(duì)開(kāi)發(fā)效益、開(kāi)發(fā)價(jià)值都有比較明顯的影響。

  三、工業(yè)界對(duì)Java語(yǔ)言的評(píng)價(jià)

  1996年5月29~31日,在美國(guó)舊金山召開(kāi)了一個(gè)全世界Java語(yǔ)言開(kāi)發(fā)者 大

  會(huì),(JavaOneDeveloperConfer-ence),出席會(huì)議的多達(dá)6500多人,來(lái)自工業(yè) 界的超過(guò)一半,有人評(píng)價(jià)說(shuō):"這是近年來(lái)計(jì)算機(jī)界最光輝的一次盛會(huì)",一些工 業(yè)界的老總們相當(dāng)看好Java語(yǔ)言,認(rèn)為它的使用將會(huì)引起一場(chǎng)軟件革命。從軟件 的設(shè)計(jì)風(fēng)格、設(shè)計(jì)方法、設(shè)計(jì)目標(biāo)到設(shè)計(jì)過(guò)程,都會(huì)產(chǎn)生徹底的變革,"甚至?xí)?變此星球的生活方式"。

  在這次會(huì)上,Java的創(chuàng)始人之一JamesGosling說(shuō):"Java不僅僅只是 applets,它能做任何事情",Dta咨詢(xún)公司的高級(jí)軟件工程師RichKadel說(shuō):"Java 不僅僅是一種程序設(shè)計(jì)語(yǔ)言,更是現(xiàn)代化軟件再實(shí)現(xiàn)的基礎(chǔ);Java還是未來(lái)新型 OS的核心;將會(huì)出現(xiàn)Java芯片;將構(gòu)成各種應(yīng)用軟件的開(kāi)發(fā)平臺(tái)與實(shí)現(xiàn)環(huán)境,是 人們必不可少的開(kāi)發(fā)工具,……"。

  由于各界都看好它,因此,各大公司都紛紛表示支持Java,Intel、Xerox 公司聲言將把Java嵌入到他們的產(chǎn)品中去。就連華爾街金融界也在投入資金人力 用Java開(kāi)發(fā)電子貿(mào)易、金融軟件。

  所以有人說(shuō):"現(xiàn)在第三方的開(kāi)發(fā)商都團(tuán)結(jié)在Java大旗周?chē)?",紛紛推出 用Java開(kāi)發(fā)的各種軟件產(chǎn)品,以期盡快地占領(lǐng)市場(chǎng)。

  四、Java語(yǔ)言的應(yīng)用前景

  Java語(yǔ)言有著廣泛的應(yīng)用前景,大體上可以從以下幾個(gè)方面來(lái)考慮其應(yīng)用:

  1所有面向?qū)ο蟮膽?yīng)用開(kāi)發(fā),包括面向?qū)ο蟮氖录枋、處理、綜合等;

  2計(jì)算過(guò)程的可視化、可操作化的軟件的開(kāi)發(fā);

  3動(dòng)態(tài)畫(huà)面的設(shè)計(jì),包括圖形圖像的調(diào)用;

  4交互操作的設(shè)計(jì)(選擇交互、定向交互、控制流程等);

  5Internet的系統(tǒng)管理功能模塊的設(shè)計(jì),包括Web頁(yè)面的動(dòng)態(tài)設(shè)計(jì)、管理 和交互操作設(shè)計(jì)等;

  6Intranet(企業(yè)內(nèi)部網(wǎng))上的軟件開(kāi)發(fā)(直接面向企業(yè)內(nèi)部用戶(hù)的軟件);

  7與各類(lèi)數(shù)據(jù)庫(kù)連接查詢(xún)的SQL語(yǔ)句實(shí)現(xiàn);

  8其它應(yīng)用類(lèi)型的程序。

  §1.2Java的特點(diǎn)

  Java是一個(gè)廣泛使用的網(wǎng)絡(luò)編程語(yǔ)言,它是一種新的計(jì)算概念。

  首先,作為一種程序設(shè)計(jì)語(yǔ)言,它簡(jiǎn)單、面向?qū)ο、不依?lài)于機(jī)器的結(jié)構(gòu)、 具有可移植性、魯棒性、安全性、并且提供了并發(fā)的機(jī)制、具有很高的性能。其 次,它最大限度地利用了網(wǎng)絡(luò),Java的小應(yīng)用程序(applet)可在網(wǎng)絡(luò)上傳輸而 不受CPU和環(huán)境

  的限制。另外,Java還提供了豐富的類(lèi)庫(kù),使程序設(shè)計(jì)者可以很 方便地建立自己的系統(tǒng)。

  下面我們分別從這三個(gè)方面來(lái)討論Java的特點(diǎn),然后通過(guò)把Java與C, C++相比進(jìn)一步指出它所具有的優(yōu)點(diǎn)。

  一、Java語(yǔ)言

  Java語(yǔ)言有下面一些特點(diǎn):簡(jiǎn)單、面向?qū)ο蟆⒎植际、解釋?zhí)行、魯棒、 安全、體系結(jié)構(gòu)中立、可移植、高性能、多線(xiàn)程以及動(dòng)態(tài)性。

  1.簡(jiǎn)單性

  Java語(yǔ)言是一種面向?qū)ο蟮恼Z(yǔ)言,它通過(guò)提供最基本的方法來(lái)完成指定的 任務(wù),只需理解一些基本的概念,就可以用它編寫(xiě)出適合于各種情況的應(yīng)用程 序。Java略去了運(yùn)算符重載、多重繼承等模糊的概念,并且通過(guò)實(shí)現(xiàn)自動(dòng)垃圾 收集大大簡(jiǎn)化了程序設(shè)計(jì)者的內(nèi)存管理工作。另外,Java也適合于在小型機(jī)上運(yùn) 行,它的基本解釋器及類(lèi)的支持只有40KB左右,加上標(biāo)準(zhǔn)類(lèi)庫(kù)和線(xiàn)程的支持也 只有215KB左右。庫(kù)和線(xiàn)程的支持也只有215KB左右。

  2.面向?qū)ο?/p>

  Java語(yǔ)言的設(shè)計(jì)集中于對(duì)象及其接口,它提供了簡(jiǎn)單的類(lèi)機(jī)制以及動(dòng)態(tài)的 接口模型。對(duì)象中封裝了它的狀態(tài)變量以及相應(yīng)的方法,實(shí)現(xiàn)了模塊化和信息 隱藏;而類(lèi)則提供了一類(lèi)對(duì)象的原型,并且通過(guò)繼承機(jī)制,子類(lèi)可以使用父類(lèi) 所提供的方法,實(shí)現(xiàn)了代碼的復(fù)用。

  3.分布性

  Java是面向網(wǎng)絡(luò)的語(yǔ)言。通過(guò)它提供的類(lèi)庫(kù)可以處理TCP/IP協(xié)議,用戶(hù) 可以通過(guò)URL地址在網(wǎng)絡(luò)上很方便地訪(fǎng)問(wèn)其它對(duì)象。

  4.魯棒性

  Java在編譯和運(yùn)行程序時(shí),都要對(duì)可能出現(xiàn)的問(wèn)題進(jìn)行檢查,以消除錯(cuò)誤 的產(chǎn)生。它提供自動(dòng)垃圾收集來(lái)進(jìn)行內(nèi)存管理,防止程序員在管理內(nèi)存時(shí)容易 產(chǎn)生的錯(cuò)誤。通過(guò)集成的面向?qū)ο蟮睦馓幚頇C(jī)制,在編譯時(shí),Java提示出可能 出現(xiàn)但未被處理的例外,幫助程序員正確地進(jìn)行選擇以防止系統(tǒng)的崩潰。另外, Java在編譯時(shí)還可捕獲類(lèi)型聲明中的許多常見(jiàn)錯(cuò)誤,防止動(dòng)態(tài)運(yùn)行時(shí)不匹配問(wèn)題 的出現(xiàn)。

  5.安全性

  用于網(wǎng)絡(luò)、分布環(huán)境下的Java必須要防止病毒的入侵。Java不支持指針, 一切對(duì)內(nèi)存的訪(fǎng)問(wèn)都必須通過(guò)對(duì)象的實(shí)例變量來(lái)實(shí)現(xiàn),這樣就防止程序員使用 "特洛伊"木馬等欺騙手段訪(fǎng)問(wèn)對(duì)象的私有成員,同時(shí)也避免了指針操作中容易 產(chǎn)生的錯(cuò)誤。

  6.體系結(jié)構(gòu)中立

  Java解釋器生成與體系結(jié)構(gòu)無(wú)關(guān)的字節(jié)碼指令,只要安裝了Java運(yùn)行時(shí) 系統(tǒng),Java程序就可在任意的處理器上運(yùn)行。這些字節(jié)碼指令對(duì)應(yīng)于Java虛擬 機(jī)中的表示,Java解釋器得到字節(jié)碼后,對(duì)它進(jìn)行轉(zhuǎn)換,使之能夠在不同的平 臺(tái)運(yùn)行。

  7.可移植性

  與平臺(tái)無(wú)關(guān)的特性使Java程序可以方便地被移植到網(wǎng)絡(luò)上的不同機(jī)器。 同時(shí),Java的類(lèi)庫(kù)中也實(shí)現(xiàn)了與不同平臺(tái)的接口,使這些類(lèi)庫(kù)可以移植。另外, Java編譯器是由Java語(yǔ)言實(shí)現(xiàn)的,Java運(yùn)行時(shí)系統(tǒng)由標(biāo)準(zhǔn)C實(shí)現(xiàn),這使得Java 系統(tǒng)本身也具有可移植性。

  8.解釋執(zhí)行

  Java解釋器直接對(duì)Java字節(jié)碼進(jìn)行解釋執(zhí)行。字節(jié)碼本身攜帶了許多 編譯時(shí)信息,使得連接過(guò)程更加簡(jiǎn)單。

  9.高性能

  和其它解釋執(zhí)行的語(yǔ)言如BASIC、TCL不同,Java字節(jié)碼的設(shè)計(jì)使之能 很容易地直接轉(zhuǎn)換成對(duì)應(yīng)于特定CPU的機(jī)器碼,從而得到較高的性能。

  10.多線(xiàn)程

  多線(xiàn)程機(jī)制使應(yīng)用程序能夠并行執(zhí)行,而且同步機(jī)制保證了對(duì)共享數(shù)據(jù) 的正確操作。通過(guò)使用多線(xiàn)程,程序設(shè)計(jì)者可以分別用不同的線(xiàn)程完成特定 的行為,而不需要采用全局的事件循環(huán)機(jī)制,這樣就很容易地實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí) 時(shí)交互行為。

  11.動(dòng)態(tài)性

  Java的設(shè)計(jì)使它適合于一個(gè)不斷發(fā)展的環(huán)境。在類(lèi)庫(kù)中可以自由地加入 新的方法和實(shí)例變量而不會(huì)影響用戶(hù)程序的執(zhí)行。并且Java通過(guò)接口來(lái)支持 多重繼承,使之比嚴(yán)格的類(lèi)繼承具有更靈活的方式和擴(kuò)展性。

  二、JavaApplet

  Java語(yǔ)言的特性使它可以最大限度地利用網(wǎng)絡(luò)。Ap-plet是Java的小應(yīng) 用程序,它是動(dòng)態(tài)、安全、跨平臺(tái)的網(wǎng)絡(luò)應(yīng)用程序。JavaApplet嵌入HTML語(yǔ) 言,通過(guò)主頁(yè)發(fā)布到Internet。網(wǎng)絡(luò)用戶(hù)訪(fǎng)問(wèn)服務(wù)器的Applet時(shí),這些Applet 從網(wǎng)絡(luò)上進(jìn)行傳輸,然后在支持Java的瀏覽器中運(yùn)行。由于Java語(yǔ)言的安全機(jī) 制,用戶(hù)一旦載入Applet,就可以放心地來(lái)生成多媒體的用戶(hù)界面或完成復(fù)雜的 計(jì)算而不必?fù)?dān)心病毒的入侵。雖然Applet可以和圖像、聲音、動(dòng)畫(huà)等一樣從網(wǎng) 絡(luò)上下載,但它并不同于這些多媒體的文件格式,它可以接收用戶(hù)的輸入,動(dòng)態(tài) 地進(jìn)行改變,而不僅僅是動(dòng)畫(huà)的顯示和

  聲音的播放。

  三、豐富的類(lèi)庫(kù)

  Java提供了大量的類(lèi)以滿(mǎn)足網(wǎng)絡(luò)化、多線(xiàn)程、面向?qū)ο笙到y(tǒng)的需要。

  1.語(yǔ)言包提供的支持包括字符串處理、多線(xiàn)程處理、例外處理、數(shù)學(xué)函 數(shù)處理等,可以用它簡(jiǎn)單地實(shí)現(xiàn)Java程序的運(yùn)行平臺(tái)。

  2.實(shí)用程序包提供的支持包括哈希表、堆棧、可變數(shù)組、時(shí)間和日期等。

  3.輸入輸出包用統(tǒng)一的"流"模型來(lái)實(shí)現(xiàn)所有格式的I/O,包括文件系統(tǒng)、 網(wǎng)絡(luò)、輸入

  4.低級(jí)網(wǎng)絡(luò)包用于實(shí)現(xiàn)Socket編程。

  5.抽象圖形用戶(hù)接口包實(shí)現(xiàn)了不同平臺(tái)的計(jì)算機(jī)的圖形用戶(hù)接口部件, 包括窗口、菜單、滾動(dòng)條、對(duì)話(huà)框等,使得Java可以移植到不同平臺(tái)的機(jī)器。

  6.網(wǎng)絡(luò)包支持Internet的TCP/IP協(xié)議,提供了與In-ternet的接口。 它支持URL連接,WWW的即時(shí)訪(fǎng)問(wèn),并且簡(jiǎn)化了用戶(hù)/服務(wù)器模型的程序設(shè)計(jì)。

  四、Java和C、C++

  對(duì)于變量聲明、參數(shù)傳遞、操作符、流控制等,Java使用了和C、C++ 相同的傳統(tǒng),使得熟悉C、C++的程序員能很方便地進(jìn)行編程。同時(shí),Java為 了實(shí)現(xiàn)其簡(jiǎn)單、魯棒、安全等特性,也摒棄了C和C++中許多不合理的內(nèi)容。

  1.全局變量

  Java程序中,不能在所有類(lèi)之外定義全局變量,只能通過(guò)在一個(gè)類(lèi)中定 義公用、靜態(tài)的變量來(lái)實(shí)現(xiàn)一個(gè)全局變量。例如:

  ClassGlobalVar{ public static global_var; }

  在類(lèi)GlobalVar中定義變量global_var為public static,使得其它類(lèi) 可以訪(fǎng)問(wèn)和修改該變量。 Java對(duì)全局變量進(jìn)行了更好的封裝。而在C和C++中,依賴(lài)于不加封裝 的全局變量常常造成系統(tǒng)的崩潰。

  2.Goto

  Java不支持C、C++中的goto語(yǔ)句,而是通過(guò)例外處理語(yǔ)句try,Catch, final等來(lái)代替C、C++中用goto來(lái)處理遇到錯(cuò)誤時(shí)跳轉(zhuǎn)的情況,使程序更可讀 且更結(jié)構(gòu)化。

  3.指針

  指針是C、C++中最靈活,也是最容易產(chǎn)生錯(cuò)誤的數(shù)據(jù)類(lèi)型。由指針?biāo)M(jìn)行 的內(nèi)存地

  址操作常會(huì)造成不可預(yù)知的錯(cuò)誤,同時(shí)通過(guò)指針對(duì)某個(gè)內(nèi)存地址進(jìn)行顯 式類(lèi)型轉(zhuǎn)換后,可以訪(fǎng)問(wèn)一個(gè)C++中的私有成員,從而破壞安全性,造成系統(tǒng)的 崩潰。而Java對(duì)指針進(jìn)行完全的控制,程序員不能直接進(jìn)行任何指針操作,例如 把整數(shù)轉(zhuǎn)化為指針,或者通過(guò)指針釋放某一內(nèi)存地址等。同時(shí),數(shù)組作為類(lèi)在Java 中實(shí)現(xiàn),良好地解決了數(shù)組訪(fǎng)問(wèn)越界這一C、C++中不作檢查的錯(cuò)誤。

  4.內(nèi)存管理

  在C中,程序員通過(guò)庫(kù)函數(shù)malloc()和free()來(lái)分配和釋放內(nèi)存,C++ 中則通過(guò)運(yùn)算符new和delete來(lái)分配和釋放內(nèi)存。再次釋放已釋放的內(nèi)存塊或 未被分配的內(nèi)存塊,會(huì)造成系統(tǒng)的崩潰;同樣,忘記釋放不再使用的內(nèi)存塊也 會(huì)逐漸耗盡系統(tǒng)資源。而在Java中,所有的數(shù)據(jù)結(jié)構(gòu)都是對(duì)象,通過(guò)運(yùn)算符new 為它們分配內(nèi)存堆。通過(guò)new得到對(duì)象的處理權(quán),而實(shí)際分配給對(duì)象的內(nèi)存可能 隨程序運(yùn)行而改變,Java對(duì)此自動(dòng)地進(jìn)行管理并且進(jìn)行垃圾收集,有效防止了由 于程序員的誤操作而導(dǎo)致的錯(cuò)誤,并且更好地利用了系統(tǒng)資源。

  5.數(shù)據(jù)類(lèi)型的支持

  在C、C++中,對(duì)于不同的平臺(tái),編譯器對(duì)于簡(jiǎn)單數(shù)據(jù)類(lèi)型如int,float 等分別分配不同長(zhǎng)度的字節(jié)數(shù),例如:int在IBMPC中為16位,在VAX-11中為 32位,這導(dǎo)致了代碼的不可移植性,但在Java中,對(duì)于這些數(shù)據(jù)類(lèi)型總是分 配固定長(zhǎng)度的位數(shù),如對(duì)int型,它總占32位,這就保證了Java的平臺(tái)無(wú)關(guān)性。

  6.類(lèi)型轉(zhuǎn)換

  在C、C++中,可以通過(guò)指針進(jìn)行任意的類(lèi)型轉(zhuǎn)換,常常帶來(lái)不安全性, 而Java中,運(yùn)行時(shí)系統(tǒng)對(duì)對(duì)象的處理要進(jìn)行類(lèi)型相容性檢查,以防止不安全的 轉(zhuǎn)換。

  7.頭文件

  C、C++中用頭文件來(lái)聲明類(lèi)的原型以及全局變量、庫(kù)函數(shù)等,在大的系 統(tǒng)中,維護(hù)這些頭文件是很困難的。而Java不支持頭文件,類(lèi)成員的類(lèi)型和訪(fǎng) 問(wèn)權(quán)限都封裝在一個(gè)類(lèi)中,運(yùn)行時(shí)系統(tǒng)對(duì)訪(fǎng)問(wèn)進(jìn)行控制,防止對(duì)私有成員的操 作。同時(shí),Java中用import語(yǔ)句來(lái)與其它類(lèi)進(jìn)行通訊,以便使用它們的方法。

  8.結(jié)構(gòu)和聯(lián)合

  C、C++中的結(jié)構(gòu)和聯(lián)合中所有成員均為公有,這就帶來(lái)了安全性問(wèn)題。 Java中不包含結(jié)構(gòu)和聯(lián)合,所有的內(nèi)容都封裝在類(lèi)中。

  9.預(yù)處理

  C、C++中用宏定義來(lái)實(shí)現(xiàn)的代碼給程序的可讀性帶來(lái)了困難。在Java 中,不支持宏,它通過(guò)關(guān)鍵字final來(lái)聲明一個(gè)常量,以實(shí)現(xiàn)宏定義中廣泛使 用的常量定義。

【java快速入門(mén)教程】相關(guān)文章:

java面向?qū)ο笕腴T(mén)教程10-01

Java入門(mén)教程:控制語(yǔ)08-05

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

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

Java入門(mén)教程:標(biāo)識(shí)符07-17

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

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

Java入門(mén)教程:數(shù)據(jù)類(lèi)型07-23