版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Java語言程序設(shè)計(jì)基礎(chǔ)8/2/20211上課要求8/2/20212請保持安靜Java簡介
Sun公司(2009年被Oracle公司收購)1995年推出8/2/20213Java簡介8/2/20214Java的出現(xiàn)推動(dòng)了Web迅速發(fā)展·
Struts、Hibernate、Spring等開發(fā)框架Java語言的出現(xiàn)推動(dòng)了開源軟件的發(fā)展·
SourceForge8/2/20215Java語言特點(diǎn)8/2/20216簡單沒有C、C++語言中的指針;沒有多重繼承;沒有操作符重載;純面向?qū)ο蠓植际秸Z言提供網(wǎng)絡(luò)編程類庫;提供RMI(Remote
MethodInvocation)機(jī)制健壯性強(qiáng)類型機(jī)制、異常處理、垃圾內(nèi)存自動(dòng)搜集機(jī)制等Java語言特點(diǎn)8/2/20217安全性在網(wǎng)絡(luò)環(huán)境下,提供安全機(jī)制防止惡意代碼攻擊跨平臺Java虛擬機(jī)機(jī)制;代碼編譯為字節(jié)碼方式解釋型語言高性能多線程直接提供類庫支持多線程編程Java的創(chuàng)始人James
GoslingSun副總裁及研究院院士8/2/20218名字起源
Java是印度尼西亞爪哇島的英文名稱,因盛產(chǎn)咖啡而聞名。
Java語言中的許多庫類名稱,多與咖啡有關(guān),如
JavaBeans(咖啡豆)、NetBeans(網(wǎng)絡(luò)豆)以及
ObjectBeans(對象豆)等等。
SUN和JAVA的標(biāo)識也正是一杯正冒著熱氣的咖啡。8/2/20219Java平臺體系8/2/202110Java
SE(Standard
Edition)針對桌面程序Java
EE
(Enterprise
Edition)針對企業(yè)級軟件Java
ME
(Micro
Edition)針對移動(dòng)設(shè)備和嵌入式設(shè)備不斷擴(kuò)展的平臺8/2/202111參考教材Thinking
in
Java
4th
by
Bruce
Eckel8/2/202112參考教材Core
Java
8th
Vol1,
Vol28/2/202113參考教材Effective
Java
2nd
by
Joshua
Bloch8/2/202114Java虛擬機(jī)8/2/202115
在一臺計(jì)算機(jī)上由軟件模擬的假想的計(jì)算機(jī)。
Java虛擬機(jī)的代碼存儲在class文件中(也稱為字節(jié)碼文件)。
Java編譯器針對Java虛擬機(jī)產(chǎn)生class文件,因此是獨(dú)立于平臺的。
Java解釋器負(fù)責(zé)將Java虛擬機(jī)的代碼在特定的平臺上運(yùn)行。Java虛擬機(jī)任何一個(gè)編譯器,不是JVM的內(nèi)容。8/2/202116JVM執(zhí)行步驟8/2/202117Step1:編輯源代碼Step2:JAVA編譯器將其編譯為class文件(JVM規(guī)范的字節(jié)碼)Step3:JAVA解釋器負(fù)責(zé)將class文件解釋運(yùn)行(解釋器有兩個(gè)功能:執(zhí)行字節(jié)碼、對底層硬件平臺做適合調(diào)用)3
加載代碼:由class
loader完成3
校驗(yàn)代碼:由bytecode
verifier完成3
執(zhí)行代碼:由runtime
interpreter完成Java虛擬機(jī)的建立
Java虛擬機(jī)的建立需要針對不同的軟硬件平臺做專門的實(shí)現(xiàn)。8/2/202118無用內(nèi)存自動(dòng)回收機(jī)制8/2/202119面向過程的編程風(fēng)格8/2/202120int
maxSoFar=0,price=1;while(price>0){if
(price>maxSoFar)maxSoFar=price;//最大值maxSoFar的初值為0//price是輸入的值//循環(huán)輸入price的值//輸入的值price大于最大值maxSoFar//則maxSoFar的值為price的值String
input=JoptionPane.showInputDialog("Enter
the
next
price");//繼續(xù)輸入priceprice=Double.parseDouble(input);}//把字符串input轉(zhuǎn)換成整數(shù)priceSystem.out.println(“The
maximum
is”+maxSoFar);//打印最大值maxSoFar}面向?qū)ο蟮木幊田L(fēng)格8/2/202121Max
max=new
Max();
//max是類Max的一個(gè)對象while(price>0){max.updateMax(price);//對象max調(diào)用updateMax方法,更新最大值price=max.getPrice();//對象max調(diào)用getPrice獲得下一個(gè)price的值}System.out.println("The
maximum
is
"+max.getMax(
));//對象max調(diào)用getMax方法獲得最大值,并打印出來Java程序分類Java
Application通常稱為Java應(yīng)用程序,以main()方法作為程序入口,由Java解釋器加載執(zhí)行。Java
Applet通常稱為Java小應(yīng)用程序,通過瀏覽器或者是appletviewer命令加載執(zhí)行。Applet是Java最
獲得成功的應(yīng)用。8/2/202122Java應(yīng)用程序(Application)舉例//這是我們的第一個(gè)java
application,該程序保存在文件Property.java中import
java.util.*;/*下面我們用到了Date和Properties這兩個(gè)類,是屬于java.util這個(gè)包的;而System和Runtime這兩個(gè)類,是屬于java.lang這個(gè)包的。*/public
class
Property{//程序員給這個(gè)類取名為Propertypublic
static
void
main(String
args[]){//main是類的主方法System.out.println(new
Date());//在命令行下面打印出日期Properties
p=System.getProperties();//獲得系統(tǒng)的Properties對象pp.list(System.out);//在命令行下打印出p中的各個(gè)系統(tǒng)變量的值System.out.println("---Memory
Usage:");/*打印一行字符串---MemoryUsage*/Runtime
rt=Runtime.getRuntime();//獲得系統(tǒng)的Runtime對象rtSystem.out.println("Total
Memory="+rt.totalMemory()//打印總內(nèi)存大小+"
Free
Memory
=
"+rt.freeMemory());//打印空閑內(nèi)存大小}}8/2/202123Java
Application的編輯8/2/202124Java
Application的編譯Java編譯器命令:javac命令行中輸入:javac
Property.java
源文件名為Property.java,注意:文件名必須與公共類名相同;由javac編譯器編譯源程序,產(chǎn)
生字節(jié)碼文件(.class文件)。本例中產(chǎn)生
Property.class文件。8/2/202125Java
Application的執(zhí)行Java執(zhí)行命令:java命令行中輸入:java
Property
該命令將啟動(dòng)Java虛擬機(jī),由Java解釋器解釋執(zhí)行。8/2/202126Java小應(yīng)用程序(Applet)舉例8/2/202127//這是我們的第一個(gè)java
applet,該程序保存在文件HelloEducation.java中import
java.awt.Graphics;//在進(jìn)行顯示輸出時(shí),需要用到類Graphics的對象;import
java.applet.Applet;//Applet類是所有的java
applet的父類;public
class
HelloEducation
extends
Applet
{//程序員給這個(gè)類取名為HelloEducation所有的applet程序都是Applet類的子類public
String
s;public
void
init()
{s=new
String(“Welcome
to
Tongfang
Education”);//生成一個(gè)字符串對象}public
void
paint(Graphics
g){g.drawString(s,25,25);//在瀏覽器中坐標(biāo)為(25,25)的位置顯示字符串s}}Java
Applet的執(zhí)行8/2/202128
Java
Applet不能字節(jié)執(zhí)行,需要編寫html文件,把Applet嵌入其中。例如HelloEducation.html文件<html><applet
code=HelloEducation.class
width=250
height=250></applet></html>Java
Applet的執(zhí)行
用appletviewer來運(yùn)行,在命令提示符下輸入:
appletviewer
HelloEducation.html彈出窗口運(yùn)行該程序8/2/202129Java
Applet的執(zhí)行
在支持Java的瀏覽器上運(yùn)行。如在IE或Netscape中打開HelloEducation.html程序。8/2/202130Java程序結(jié)構(gòu)8/2/202131package語句//0或1條,必須放在文件開始import語句//0或多條,必須放在所有類定義之前public
classDefinition//0或1個(gè)。文件名必須與該類的類名完全相同classDefinition//類定義,個(gè)數(shù)不限interfaceDefinition//接口定義,個(gè)數(shù)不限Java程序結(jié)構(gòu)示例8/2/202132package
javawork.helloworld;/*把編譯生成的所有.class文件放到包javawork.helloworld中*///告訴編譯器本程序中用到系統(tǒng)的AWT包/*告訴編譯器本程序中用到用戶自定義的包javawork.newcentury*/import
java.awt.*;import
javawork.newcentury;public
class
HelloWorldApp{......}/*公共類HelloWorldApp的定義,名字與文件名相同*///第一個(gè)普通類TheFirstClass的定義//第二個(gè)普通類TheSecondClass的class
TheFirstClass{......}class
TheSecondClass{......}定義......//其它普通類的定義interface
TheFirstInterface{......}
//第一個(gè)接口TheFirstInterface的定義......
//其它接口定義package語句8/2/202133包(package)是用于管理生成的java字節(jié)碼文件(.class),其對應(yīng)于文件系統(tǒng)中的目錄,目的是把編譯生成的.class文件放入該目錄。例如:javawork.helloworld對應(yīng)于目錄
“path\javawork\helloworld,其中path需在編譯時(shí)指定,且該目錄須存在;如果
javawork\helloworld不存在則創(chuàng)建該目錄。例如:javac-d
f:\javaproject
HelloWorldApp.java則生成的HelloWorldApp.class文件將放在目錄
f:\javaproject\javawork\helloworld\中package語句8/2/202134
如果程序中沒有package語句,或者有package語句但是在編譯時(shí)不用-d選項(xiàng),則生成的.class文件放入當(dāng)前目錄。Import語句8/2/202135
在程序中用到了標(biāo)準(zhǔn)類庫或自定義包中的類,需要用import語句來聲明。可以聲明一個(gè)包:import
java.awt.*
在引用到類或者包時(shí),將沿著類路徑classpath開始尋找相應(yīng)的.class文件,因此需要事先設(shè)置環(huán)境變量classpath:classpath=.;d:\jdk1.3\lib\Java程序結(jié)構(gòu)8/2/202136源文件的命名規(guī)則如果.java文件包含一個(gè)public類,它必須按該類名命名。一個(gè)源文件中最多只能有一個(gè)public類,其他類的個(gè)數(shù)不限。Java編程規(guī)范8/2/202137包名3
全小寫,一般為名詞,如:java.awt.event;類名3
首字母大寫,每個(gè)單詞的首字母大寫,如:class
HelloWorldApp;接口名3
同類名,如:interface
Collection;方法名3
一般為動(dòng)詞,小寫字母開頭,每個(gè)單詞的首字母都要大寫,如:balanceAccount,
isButtonPressed;變量名3
全小寫,一般為名詞,如:length;常量名–
基本類型的常量名為全大寫,如:int
YEAR,intWEEK_OF_MONTH;對象常量大小寫混合。Java幫助文檔Jdk1.3\docs\index.html8/2/202138Java幫助文檔查閱JDK命令,選擇Tool
Documentation8/2/202139Java幫助文檔Java、javac、javadoc、appletviewer8/2/202140Java幫助文檔
查閱類庫
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 開放式基金交易服務(wù)合同
- 2024簡單銷售代理合同樣本
- 合同范本:委托招商引資協(xié)議書
- 二手車購車合同協(xié)議樣本
- 2024照明購銷合同
- 企業(yè)與高校就業(yè)實(shí)習(xí)協(xié)議書參考
- 代理公司注冊登記協(xié)議書
- 培訓(xùn)機(jī)構(gòu)老師合作協(xié)議示例
- 正規(guī)版房屋租賃合同協(xié)議范本
- 全面聘用合同范本匯編
- 0~36個(gè)月兒童中醫(yī)藥健康管理服務(wù)
- 第三章藥物的化學(xué)結(jié)構(gòu)與藥代動(dòng)力
- 智慧樹關(guān)愛生命-自救與急救技能章節(jié)習(xí)題及答案
- 讓數(shù)據(jù)成為生產(chǎn)力-數(shù)據(jù)全生命周期管理
- “工匠精神”視域下的高職院校學(xué)生職業(yè)素養(yǎng)教育的路徑研究課題開題報(bào)告
- 不要等到畢業(yè)以后(升級版)
- 一企一標(biāo)準(zhǔn)一崗一清單手冊模板
- 中西文化鑒賞知到章節(jié)答案智慧樹2023年鄭州大學(xué)
- 第四單元(知識清單)【 新教材精講精研精思 】 七年級語文上冊 (部編版)
- 答題卡(六年級數(shù)學(xué))
- 潛水員體檢表
評論
0/150
提交評論