版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java 初級(jí)初級(jí) 第一章 初次接觸JAVA主要內(nèi)容主要內(nèi)容lJava言語順應(yīng)網(wǎng)絡(luò)時(shí)代的編程言語 lJava言語的特點(diǎn) lJava程序的編譯環(huán)境和執(zhí)行環(huán)境 l第一個(gè)Java程序Hello World lJava程序的分類 lJava平臺(tái) Java言語網(wǎng)絡(luò)時(shí)代的編程言語網(wǎng)絡(luò)時(shí)代編程問題網(wǎng)絡(luò)時(shí)代編程問題 網(wǎng)絡(luò)帶給我們精彩的同時(shí),也為編程帶來了困難,最為突 出的表現(xiàn)為環(huán)境復(fù)雜 問題的處理方法問題的處理方法 為了實(shí)現(xiàn)一個(gè)程序能被多個(gè)操作系統(tǒng)所認(rèn)識(shí),必需像不同 言語國家的人交流那樣,借助“翻譯的作用 美國人翻譯我是中國人我是中國人Im a chineseIm an american 我是美國人我是美國人
2、中國人 C或C+:只需將編譯后的文件銜接成為.exe,才干在Windows操作系統(tǒng)上運(yùn)轉(zhuǎn)。源代碼(.c或.cpp文件)目標(biāo)代碼(.obj文件)可執(zhí)行代碼(.exe文件)Windows操作系統(tǒng)編譯連接運(yùn)行C+的處理戰(zhàn)略的處理戰(zhàn)略Java的處理戰(zhàn)略的處理戰(zhàn)略 :一次編譯,處處執(zhí)行:一次編譯,處處執(zhí)行 J a v a 編譯 環(huán) 境源代碼(.java文件)字節(jié)碼(.class文件)Windows操作系統(tǒng)編譯Unix操作系統(tǒng)Linux操作系統(tǒng)解釋執(zhí)行系統(tǒng)Java言語的特點(diǎn)A simple, object-oriented, distributed, interpreted, robust, secure
3、, architecture-neutral, portable, high-performance, multi-threaded, and dynamic language。即:Java是一種具有“簡(jiǎn)單、面向?qū)ο?、分布式、解釋型、?qiáng)壯、平安、與體系構(gòu)造無關(guān)、可移植、高性能、多線程和動(dòng)態(tài)執(zhí)行等特性的言語。Sun公司對(duì)公司對(duì)Java的定義的定義簡(jiǎn)單性:Java言語簡(jiǎn)單而高效,根本Java系統(tǒng)編譯器和解釋器所占空間不到250KB。Java的風(fēng)格類似于C+,因此C+程序員初次接觸Java言語,就會(huì)感到很熟習(xí)。從某種意義上講,Java言語是C及C+言語的一個(gè)變種,因此,C+程序員可以很快地掌握J(rèn)av
4、a編程技術(shù)。Java摒棄了C+中容易引發(fā)程序錯(cuò)誤的一些特性,如指針、構(gòu)造、枚舉以及內(nèi)存管理等。Java提供了豐富的類庫,可以協(xié)助我們很方便的開發(fā)Java程序。面向?qū)ο螅篔ava言語是純面向?qū)ο蟮?。平臺(tái)無關(guān)性與可移植性:Java程序不經(jīng)修正或少量修正就可在不同操作系統(tǒng)上運(yùn)轉(zhuǎn)。Java采用了以下機(jī)制:Java既是編譯型又是解釋型的言語。編譯成字節(jié)碼文件,由 Java虛擬機(jī)在不同操作系統(tǒng)上解釋執(zhí)行。Java采用的是基于國際規(guī)范IEEE規(guī)范的數(shù)據(jù)類型。此 外,Java編譯器是用Java言語本身所編寫的,整個(gè)運(yùn)轉(zhuǎn)時(shí)環(huán) 境表達(dá)了一個(gè)定義良好的可移植性接口。Java遵照POSIX標(biāo) 準(zhǔn),這也使Java具有良
5、好可移植性的重要緣由。 穩(wěn)定性和平安性Java首先摒棄了C+中的不平安的要素指針數(shù)據(jù)類型,防止惡意運(yùn)用者利用指針去改動(dòng)不屬于本人程序的內(nèi)存空間。Java努力于檢查程序在編譯和運(yùn)轉(zhuǎn)時(shí)的錯(cuò)誤。Java也是一種強(qiáng)類型的言語,其類型檢查比C+還要嚴(yán)厲。類型檢查協(xié)助我們檢查出許多開發(fā)早期出現(xiàn)的錯(cuò)誤。提供自動(dòng)內(nèi)存管理機(jī)制,利用系統(tǒng)的空閑時(shí)間來執(zhí)行諸如必要的渣滓去除等操作。此外,Java的運(yùn)轉(zhuǎn)環(huán)境還提供字節(jié)碼校驗(yàn)器、運(yùn)轉(zhuǎn)時(shí)內(nèi)存規(guī)劃和類裝載器Class Loader、文件訪問限制等平安措施,保證字節(jié)碼本身的平安和訪問系統(tǒng)資源的平安。多線程和動(dòng)態(tài)多線程使運(yùn)用程序可以同時(shí)進(jìn)展不同的操作,處置不同的事件。在多線程機(jī)
6、制中,不同的線程處置不同的義務(wù),互不干涉,不會(huì)由于某一義務(wù)處于等待形狀而影響了其它義務(wù)的執(zhí)行,這樣就可以容易的實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí)時(shí)交互操作。java在執(zhí)行過程中,可以動(dòng)態(tài)的加載各種類庫,這一特點(diǎn)使之非常適宜于網(wǎng)絡(luò)運(yùn)轉(zhuǎn),同時(shí)也非常有利于軟件的開發(fā),即使是更新類庫也不用重新編譯運(yùn)用這一類庫的運(yùn)用程序。高性能Java言語在具有可移植性、穩(wěn)定性和平安性的同時(shí),也堅(jiān)持了較高的性能。通常,解釋型言語的執(zhí)行效率普通也要低于直接執(zhí)行源碼的速度。但Java所采用的高效的字節(jié)碼java字節(jié)碼格式的設(shè)計(jì)就是針對(duì)機(jī)器碼的轉(zhuǎn)換,實(shí)踐轉(zhuǎn)換時(shí)相當(dāng)簡(jiǎn)便與多線程措施卻很好地彌補(bǔ)了這些性能差距。 分布式,分布概念包括數(shù)據(jù)分布和操作分
7、布兩個(gè)方面數(shù)據(jù)分布是指數(shù)據(jù)可以分散存放于網(wǎng)絡(luò)上的不同主機(jī)中,以處理海量數(shù)據(jù)的存儲(chǔ)問題; Java提供了一個(gè)URL對(duì)象,利用此對(duì)象我們可以翻開并訪問網(wǎng)絡(luò)上的對(duì)象,其訪問方式與訪問本地文件系統(tǒng)幾乎完全一樣。操作分布那么指把計(jì)算分散到不同的主機(jī)上進(jìn)展處置。Java的客戶機(jī)效力器方式可以把計(jì)算從效力器分散到客戶端,從而提高整個(gè)系統(tǒng)的執(zhí)行效率,防止瓶頸制約,添加動(dòng)態(tài)可擴(kuò)展性。Java程序的編譯環(huán)境和執(zhí)行環(huán)境l一種是編譯環(huán)境,編譯環(huán)境的建立需求到Sun的官方網(wǎng)站上下載JDKJavaDevelopmentKit,網(wǎng)址為:java.sun。l一種是運(yùn)轉(zhuǎn)環(huán)境。運(yùn)轉(zhuǎn)環(huán)境需求到Sun的官方網(wǎng)站上下載JRE(Java
8、RuntimeEnvironment)l留意:假設(shè)是在Windows上開發(fā)軟件,需求選擇Windows類型的l JDK,Unix和Linux同理;JDK的版本不斷晉級(jí),如JDK1.0、l JDK1.1、JDK1.2、JDK1.3、JDK1.4、JDK1.5,JDK1.2以l 后的版本,通稱為Java2,JDK后續(xù)版本不完全確保與前一l 個(gè)版本兼容,作為初學(xué)者,可下載當(dāng)前最新的版本。Java源代碼從編譯到解釋執(zhí)行涉及兩種環(huán)境源代碼從編譯到解釋執(zhí)行涉及兩種環(huán)境適用不同操作系統(tǒng)的適用不同操作系統(tǒng)的JDK版本版本運(yùn)轉(zhuǎn)環(huán)境的建立運(yùn)轉(zhuǎn)環(huán)境的建立l運(yùn)轉(zhuǎn)環(huán)境擔(dān)任裝載用戶自定義的類分為從本地裝載和從網(wǎng)絡(luò)裝載兩種
9、和JavaAPI類,最重要的是,含有JVMJavaVirtualMachine,它是一個(gè)平臺(tái)軟件,擔(dān)任將字節(jié)碼解釋成機(jī)器碼并提交操作系統(tǒng)執(zhí)行。l假設(shè)在一臺(tái)機(jī)器上安裝了JDK,那么自動(dòng)也安裝了對(duì)應(yīng)版本的JRE。假設(shè)希望JRE是另一種版本,那么需求在【添加修正程序】中卸載舊版本的JRE,再安裝新版本的JRE。第一個(gè)Java程序Hello World 步步 驟驟分為五個(gè)步驟:進(jìn)展JDK的安裝,配置環(huán)境變量,編寫程序,編譯和執(zhí)行程序。JDK的安裝:執(zhí)行下載的文件【jdk-1_5_0_04-windows- i586-p.exe】,安裝目錄可定為【d:jdk1.5.0】?!綽in】 子目錄下,存在jdk
10、眾多的工具集。說明javacJava編譯器,將java源程序編譯成與系統(tǒng)無關(guān)的字節(jié)碼(.class文件)javaJava解釋器,用于解釋執(zhí)行java字節(jié)碼appletviewer 小應(yīng)用程序程序?yàn)g覽器,用于測(cè)試運(yùn)行appletjavadocJava文檔生成器jar打包工具環(huán)境配置: 桌面上選擇【我的電腦】(右鍵)【屬性】【 高級(jí)】【環(huán)境變量】【系統(tǒng)變量】,選擇【path】,點(diǎn)【編輯】,在【變量值】欄目的最前面,輸入“d:jdk1.5.0bin;。編寫程序:在沒有安裝集成開發(fā)工具的前提下,可以選擇一些文本編輯器書寫Java代碼,如“EditPlus2、“UltraEdit、“JCreator等,
11、當(dāng)前也可以在Windows操作系統(tǒng)中的“記事本編寫程序。書寫代碼,將文件保管在D:myJavaHelloWorld.javapublic class HelloWorld public static void main(String args) System.out.println(Hello World!); 編譯:選擇【開場(chǎng)】【運(yùn)轉(zhuǎn)】,進(jìn)入Dos界面如以下圖所示,鍵入javac HelloWorld.java執(zhí)行:編譯經(jīng)過后,輸入java HelloWorld程序闡明程序闡明l類名和文件名應(yīng)該同名,同為HelloWorld 。lmain方法前的修飾符必需為public static voi
12、d 。lSystem.out.println()用于輸出,其參數(shù)可以為字符串,也可為數(shù)。方法println的作用是換行,假設(shè)不換行,那么調(diào)用print方法。能夠遇到的問題能夠遇到的問題(一一)l問題l 編譯出現(xiàn)“javac不是內(nèi)部命令,也不是可運(yùn)轉(zhuǎn)程序的問題。l處理方案l path途徑?jīng)]有設(shè)對(duì),在dos窗口下,輸入path,看能否包括d:jdk1.5.0,沒有或設(shè)置不正確,重新設(shè)置path環(huán)境變量。能夠遇到的問題二能夠遇到的問題二首先檢查能否將HelloWorld文件名寫對(duì)否,包括大小寫;其次,編譯時(shí)帶“.java后綴名,執(zhí)行時(shí)不帶“.class后綴;javac中指出java源文件時(shí)能帶win
13、dows的途徑,但執(zhí)行時(shí)用java不可以,如:java d:testHelloWorld那么不行,由于java將“d:testHelloWorld當(dāng)成一個(gè)字節(jié)碼文件了;環(huán)境變量中設(shè)置了classpath,由于當(dāng)前目錄沒有包含其中,所以java執(zhí)行時(shí),對(duì)當(dāng)前目錄的HelloWorld.class視而不見,處理方法為去掉classpath環(huán)境變量,或在其中參與當(dāng)前目錄即可。l問題:編譯和執(zhí)行時(shí)出現(xiàn)NoClassDefFoundError的錯(cuò)誤。l處理方案:能夠性有四個(gè) 能夠遇到的問題三能夠遇到的問題三l問題l 編譯時(shí)出現(xiàn)error: cannot read: HelloWorld .javal處理
14、方案l 在windows設(shè)置成不顯示后綴名的方式,然而在起文件名時(shí),給文件名起了HelloWorld .java,呵斥實(shí)踐文件名為HelloWorld .java.java。在【工具】【文件夾選項(xiàng)】【查看】中不選擇“隱藏已只文件類型的擴(kuò)展名,可見到帶后綴的一切文件名。能夠遇到的問題四能夠遇到的問題四l問題l 執(zhí)行出現(xiàn)“Error:could not found libi386jvm.cfg問題l處理方案l 主要是安裝集成環(huán)境以及Oracle數(shù)據(jù)庫后,這些產(chǎn)品也安裝了不同版本jdk呵斥的經(jīng)過java version看當(dāng)前是哪個(gè)版本,處理方法是將d:jdk1.5.0放置在path途徑的最前端。l
15、注:假設(shè)在一臺(tái)機(jī)器上安裝多個(gè)版本的JDK,假設(shè)需求運(yùn)用其中特定某一版本,需求經(jīng)過path設(shè)置來決議啟用哪個(gè)版本。Java程序的分類 l從大類上分為Application和Applet。前面的HelloWorld就是Application程序,它們之間的主要區(qū)別如下:ApplicationApplet 程序 標(biāo)志靜態(tài)main方法繼承java.applet.Applet,方法中為void paint(Graphics g) 運(yùn)行獨(dú)立運(yùn)行,利用java工具不能獨(dú)立運(yùn)行,需要依賴瀏覽器,用appletviewer工具來調(diào)試JAVA程序的分類程序的分類將將HelloWorld改寫成改寫成Applet程序
16、程序import java.awt.*;import java.applet.*;public class HelloWorldApplet extends Applet public void init() public void paint(Graphics g) g.drawString(Hello World!,25,25); 編輯html頁面,和HelloWorldApplet.class在同一目錄,取名為c1_2.html,在其中編寫代碼:執(zhí)行結(jié)果:程序闡明程序闡明l程序中的import,相當(dāng)于C言語中的include,是運(yùn)用曾經(jīng)編譯好的類的語法包括API中的類,在上面的程序當(dāng)中,
17、假設(shè)沒有import java.awt.*;那么Graphics類不可運(yùn)用;沒有import java.applet.*;那么Applet類不可運(yùn)用。lGraphics類用于繪圖。lpaint方法名字不可更改用于界面刷新l問題問題l 閱讀器閱讀器applet程序不顯示輸程序不顯示輸出結(jié)果出結(jié)果l問題的處理問題的處理lhtml中類名書寫能否正確;能否中類名書寫能否正確;能否留意大小寫;標(biāo)識(shí)語句之間能否留意大小寫;標(biāo)識(shí)語句之間能否有空格;在閱讀器中【工具】有空格;在閱讀器中【工具】-【Internet選項(xiàng)】選項(xiàng)】【高級(jí)】中【高級(jí)】中的的“運(yùn)用運(yùn)用Java2用于用于Applet。lpaint方法名能
18、否書寫正確。方法名能否書寫正確。執(zhí)行中能夠遇到的問題執(zhí)行中能夠遇到的問題為什么為什么Applet需求嵌入閱讀器執(zhí)行需求嵌入閱讀器執(zhí)行這是由Java言語是網(wǎng)絡(luò)時(shí)代編程言語的特點(diǎn)決議的。為了屏蔽眾多閱讀器下運(yùn)轉(zhuǎn)的語法差別,Applet應(yīng)運(yùn)而生。雖然Applet不能單獨(dú)運(yùn)轉(zhuǎn),但是一切的閱讀器都支持嵌入Applet小程序,在編寫HelloWorld時(shí)候,程序編寫者不用關(guān)懷這個(gè)Applet未來運(yùn)轉(zhuǎn)在哪個(gè)閱讀器中,他只關(guān)懷在閱讀器中需求做什么任務(wù),而且用一致的語法去編寫程序。Applet在閱讀器中如何任務(wù)的?在閱讀器中如何任務(wù)的?Applet是Java程序,需求JVM來解釋執(zhí)行,如今一切的閱讀器都嵌有JVM,當(dāng)閱讀器中載入Applet程序時(shí),首先調(diào)用Applet的init()方法完成初始化任務(wù)只調(diào)用一次,最后調(diào)用paint()方法進(jìn)展圖形的繪制。當(dāng)閱讀器被別的界面覆蓋后重新顯現(xiàn),當(dāng)閱讀器挪動(dòng),當(dāng)閱讀器尺寸改動(dòng)時(shí),此方法被重新調(diào)用。從而可見,Applet不像Application程序那樣,有main的程序入口,因此不能單獨(dú)運(yùn)轉(zhuǎn),需求借助閱讀器來執(zhí)行。Java平臺(tái)l Java不僅是編程言語,還是一個(gè)開發(fā)平臺(tái)。l 目前Sun公司把java平臺(tái)劃分成J2EE、J2SE、J2ME三
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 心血管科護(hù)士關(guān)愛心血管疾病患者工作總結(jié)
- 資源節(jié)約與環(huán)保措施計(jì)劃
- IT部門加強(qiáng)網(wǎng)絡(luò)安全防護(hù)以保障信息安全
- 餐飲業(yè)保安工作總結(jié)
- 廣東省深圳市寶安區(qū)2023-2024學(xué)年六年級(jí)上學(xué)期英語期末試卷
- 室外廣告設(shè)計(jì)師的視覺沖擊力與傳播效果
- 2023-2024學(xué)年上海市閔行區(qū)高二(下)期中地理試卷
- 2024年陜西省寶雞市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2023年河北省承德市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2024年山東省萊蕪市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 車身穩(wěn)定系統(tǒng)課件
- 2023-2024學(xué)年廣東省東莞市七年級(jí)上期末數(shù)學(xué)試卷附答案
- 檢察機(jī)關(guān)的體制與組織機(jī)構(gòu)課件
- 山東省濰坊市濰城區(qū)2023-2024學(xué)年六年級(jí)上學(xué)期期末語文試題
- 2024年1月四川高中學(xué)業(yè)水平合格考物理試卷試題真題
- 雅詩蘭黛集團(tuán)企業(yè)培訓(xùn)方案
- 30題產(chǎn)業(yè)研究員崗位常見面試問題含HR問題考察點(diǎn)及參考回答
- 農(nóng)村電商公共服務(wù)體系的建設(shè)與完善研究-以XX村為例
- 復(fù)合機(jī)器人行業(yè)分析
- 建立進(jìn)出校園安全控制與管理的方案
- 新課標(biāo)《普通高中化學(xué)課程標(biāo)準(zhǔn)(2022年版)》
評(píng)論
0/150
提交評(píng)論