JSP程序設(shè)計(jì)教程(第2章)_第1頁(yè)
JSP程序設(shè)計(jì)教程(第2章)_第2頁(yè)
JSP程序設(shè)計(jì)教程(第2章)_第3頁(yè)
JSP程序設(shè)計(jì)教程(第2章)_第4頁(yè)
JSP程序設(shè)計(jì)教程(第2章)_第5頁(yè)
已閱讀5頁(yè),還剩113頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

JSP程序設(shè)計(jì)教程第2章JSP開(kāi)發(fā)基礎(chǔ)第

2

章JSP開(kāi)發(fā)基礎(chǔ)2.1HTML語(yǔ)言基礎(chǔ)2.2JavaScript腳本語(yǔ)言2.3Java語(yǔ)言基礎(chǔ)√√√2.1HTML語(yǔ)言基礎(chǔ)什么是HTML?HTML是超文本標(biāo)記語(yǔ)言(HyperTextMarkupLanguage)的縮寫(xiě)。HTML語(yǔ)言由一些標(biāo)記,字母和文字組成,用于編寫(xiě)瀏覽器能識(shí)別的網(wǎng)頁(yè)文件

。2.1.1HTML文件的結(jié)構(gòu)

HTML文檔由<Html>標(biāo)記開(kāi)頭,由</Html>標(biāo)記結(jié)尾。HTML文檔分為兩個(gè)部分:標(biāo)題部分和正文部分。<Html><Head><Title>標(biāo)題</Title>標(biāo)題部分</Head><Body>

正文部分</Body></Html>2.1.2頭元素<meta>標(biāo)簽(1)通常應(yīng)用于文件的開(kāi)頭部分,即<head></head>之間(2)包括頁(yè)面的一些基本描述語(yǔ)句(3)有兩類(lèi)<meta>標(biāo)簽,用不同的屬性劃分,name和http-equiv,都和屬性content一起使用頭元素(續(xù))name屬性,在頁(yè)面中加入描述信息(關(guān)鍵字、描述等)Keywords,設(shè)置關(guān)鍵字Description,網(wǎng)頁(yè)描述Robots,設(shè)置搜索采取何種行動(dòng):index檢索、noindex不檢索、follow順著該頁(yè)超鏈接搜索、nofollow禁止向下搜索、all所有、none所有都不Generator,說(shuō)明編輯該頁(yè)面的工具軟件名Author,說(shuō)明網(wǎng)頁(yè)的作者Copyright,說(shuō)明版權(quán)信息頭元素(續(xù))http-equiv屬性,設(shè)置模擬的HTTP協(xié)議頭信息Content-Type,說(shuō)明網(wǎng)頁(yè)的MIME類(lèi)型和字符集編碼Refresh,自動(dòng)刷新頁(yè)面的時(shí)間,單位秒,也可設(shè)置URL值,到時(shí)間跳轉(zhuǎn)到這個(gè)頁(yè)面上Expires,設(shè)定網(wǎng)頁(yè)到期時(shí)間,也就是緩存時(shí)間,一旦網(wǎng)頁(yè)過(guò)期,必須到服務(wù)器上重新調(diào)閱。Windows-Target,強(qiáng)制頁(yè)面在某個(gè)窗口顯示Pragma,禁止瀏覽器在本地計(jì)算機(jī)上緩存該頁(yè)面Enter,設(shè)置進(jìn)入頁(yè)面的特殊顯示效果Exit,設(shè)置離開(kāi)頁(yè)面的特殊效果Meta用例指定被搜索引擎作為索引的關(guān)鍵詞<metaname=”keywords”content=”word1,word2,……”>設(shè)置文檔的語(yǔ)言字符集(Charsets)信息<metaHttp-equiv=”Content-Type”content=”text/html;charset=#”>#取值是:us-ascii,iso-8859-1,x-mac-roman,iso-8859-2,x-mac-ce,iso-2022-jp,x-sjjs,x-euc-jp,euc-kr,iso-2022-kr,gb2312,gb-2312-80,x-euc-tw,x-cns11643-1,x-cns11643-2,big5文檔更新:<metahttp-equiv=”refresh”content=”seconds;url=linkto”>頁(yè)面描述:<Metaname=”Description”content=”描述內(nèi)容”>頁(yè)面生成:<Metaname=”Generator”content=”MicrosoftFrontpage4.0”>控制頁(yè)面緩存:<metahttp-equiv=”expires”content=”Sun,31dec200000:00:00GMT”>示例:HEAD頭元素<HTML><HEAD> <METANAME="Description"CONTENT="ThePageOfHTML"> <METANAME="Keywords"CONTENT="Good,Better,Best"> <METAHTTP-EQUIV="Content-type"CONTENT="Text/html;charset=gb2312"> <METANAME="Author"CONTENT="ZhouRunFa"> <METAHTTP-EQUIV=“Refresh”CONTENT="5;URL="><TITLE>我的第一頁(yè)面</TITLE></HEAD><BODY>這里是內(nèi)容</BODY></HTML>META關(guān)鍵詞設(shè)置meta標(biāo)簽中最重要的就是:Keywords和description的設(shè)定。這兩個(gè)語(yǔ)句可以讓搜索引擎能準(zhǔn)確的發(fā)現(xiàn)你,吸引更多的人訪(fǎng)問(wèn)你的站點(diǎn)!寫(xiě)keywords的禁忌是:1.不要用常見(jiàn)詞匯。例如www,homepage,net,web等。2.不要用形容詞,副詞。例如最好的,最大的等。3.不要用籠統(tǒng)的詞匯,要盡量精確。例如不用“摩托羅拉手機(jī)”,改用“V998”等(補(bǔ)充)關(guān)于提高搜索點(diǎn)擊率

1.為了增加關(guān)鍵詞的密度,將關(guān)鍵字隱藏在頁(yè)面里(將文字顏色定義成與背景顏色一樣)。

2.在圖象的alt注釋語(yǔ)句中加入關(guān)鍵字。

如:<IMGSRC="xxx.gif"Alt="keywords">

3.利用HTML的注釋語(yǔ)句,在頁(yè)面代碼里加入大量關(guān)鍵字。

用法:<!這里插入關(guān)鍵字>2.1.3正文標(biāo)記<Body>

<Body>標(biāo)記用于標(biāo)記正文內(nèi)容。<Body>對(duì)標(biāo)記有多個(gè)屬性,用于定義頁(yè)面主體內(nèi)容的顯示效果。語(yǔ)法格式:<Body[Bgcolor=#|Text=#|Link=#|VLink=#|ALink=#|Background=圖形文件名]>2.1.4HTML常用排版標(biāo)記

1.標(biāo)題字體<H></H>語(yǔ)法格式:<HiColor=#|Align=#>標(biāo)題字體</Hi>(i=1,2,…6)2.字體標(biāo)記<Font></Font>一般用于定義文檔中要顯示文字的字體、大小和顏色。語(yǔ)法格式:<FontFace="字體名稱(chēng)"|Size=#|Color=#>文字</Font>3.段落標(biāo)記<P>段落標(biāo)記<P>用于指出一個(gè)新段落的開(kāi)始,其后面的內(nèi)容從新的一行開(kāi)始,并與上段之間有一個(gè)空行。語(yǔ)法格式: <P>……</P>4.換行標(biāo)記<Br>換行標(biāo)記<Br>是單標(biāo)記,其作用相當(dāng)于“回車(chē)”鍵,<Br>后面的內(nèi)容將另起一行。語(yǔ)法格式:

<Br>…5.插入水平線(xiàn)標(biāo)記<Hr>標(biāo)記<Hr>用于產(chǎn)生一條水平線(xiàn),以分隔文檔的不同部分。<Hr>是單標(biāo)記符。語(yǔ)法格式: <HrAlign=#|Size=#|Width=#|Noshade=#|Color=#>

6.塊級(jí)元素塊級(jí)元素包括<Div>和<Span>兩種標(biāo)記。<Div>用于文檔分節(jié),以便為文檔的不同部分應(yīng)用不同的段落格式。2.1.4HTML常用排版標(biāo)記2.1.5HTML文件的超鏈接標(biāo)記

超鏈接是互聯(lián)網(wǎng)最重要的功能,整個(gè)互聯(lián)網(wǎng)就是由相互鏈接的網(wǎng)頁(yè)組成的。2.1.5HTML文件的超鏈接標(biāo)記1.鏈接到本機(jī)的另一網(wǎng)頁(yè)語(yǔ)法格式:<AHref=“路徑\filename.html”>鏈接文字</A>

2.在同一網(wǎng)頁(yè)內(nèi)的自身鏈接語(yǔ)法格式:(1)定義錨標(biāo)記:<ANAME=“定義錨點(diǎn)的名字">顯示文字</A>(2)做對(duì)錨的鏈接:<AHref=“#已定義錨點(diǎn)的名字">鏈接顯示文字</A>2.1.5HTML文件的超鏈接標(biāo)記3.鏈接到另外一個(gè)網(wǎng)站上的Web頁(yè)語(yǔ)法格式:<Ahref=“URL”>這里是某地方</A>其中:URL:統(tǒng)一資源定位。

4.電子郵件鏈接電子郵件鏈接的作用是,當(dāng)單擊頁(yè)面上的鏈接時(shí),自動(dòng)打開(kāi)默認(rèn)的郵件發(fā)送程序發(fā)郵件。語(yǔ)法格式:<AHref="mailto:Email地址">鏈接文字</A>2.1.5HTML文件的超鏈接標(biāo)記Target屬性的作用是將鏈接的文件在指定的窗口中打開(kāi),常用于框架結(jié)構(gòu)中。Target屬性的使用方式一般有以下三種:可用于A標(biāo)記、Base標(biāo)記、Form標(biāo)記<AHref="…"Target="Windows-Name"><BaseTarget="Windows-Name"><FormAction=“…”Target=“Windows-Name”>Windows-Name處可取值_blank在一個(gè)新的未命名的窗口載入文檔_self在相同的框架或窗口中載入目標(biāo)文檔_parent把文檔載入父窗口或包含了超鏈接引用的框架的框架集_top把文檔載入包含該超鏈接的窗口,取代任何當(dāng)前正在窗口中顯示的框架2.1.6圖像標(biāo)記<Img>

語(yǔ)法格式:<ImgSrc=?Width=?Height=?Alt=?Border=?Align=?>2.1.7表格標(biāo)記<table></table>1.定義表格標(biāo)題的標(biāo)記<caption>語(yǔ)法格式:<CaptionAlign=#>表格標(biāo)題</Caption>2.定義表格行的標(biāo)記<Tr>語(yǔ)法格式:<Tr>……</Tr>3.定義字段名的標(biāo)記<Th>語(yǔ)法格式:<Th>……</Th>4.定義數(shù)據(jù)的標(biāo)記<Td>語(yǔ)法格式:<Td>……</Td><tableAlign="center"border="1"><CaptionAlign="left">表格標(biāo)題</Caption><tr><th>NO.1</th><th>NO.2</th></tr><tr><td>11</td><td>22</td></tr></table>2.1.8表單標(biāo)記<form></form>

說(shuō)明:

(1)<form>標(biāo)簽用于創(chuàng)建HTML表單。(2)表單能夠包含input元素,比如文本字段、復(fù)選框、單選框、提交按鈕、menus、textarea、fieldset和label元素等。2.1.8表單標(biāo)記<form></form><form>主要屬性說(shuō)明:action:一個(gè)URL地址;指定form表單向何處發(fā)送數(shù)據(jù)。enctype:規(guī)定在發(fā)送表單數(shù)據(jù)之前,如何對(duì)表單數(shù)據(jù)進(jìn)行編碼。method:指定表單以何種方式發(fā)送到指定的頁(yè)面。指定的值有:

get:from表單里所填的值,附加在action指定的URL后面,做為URL鏈接而傳遞。

post:from表單里所填的值,附加在HTMLHeaders上。GET與POST的區(qū)別:①數(shù)據(jù)的查詢(xún):get方式,能在URL中一目了然的看到所要查詢(xún)的信息(條件)。post因?yàn)殡[藏掉了這些信息,不方便進(jìn)行檢驗(yàn)查詢(xún)條件。②敏感數(shù)據(jù)的提交(安全性):get方式附加在URL上,會(huì)泄露掉敏感的消息。post方式,能隱藏掉敏感的信息。③大數(shù)據(jù)文本傳遞:get傳遞數(shù)據(jù)是通過(guò)將數(shù)據(jù)附加在URL上,各瀏覽器對(duì)URL也有個(gè)長(zhǎng)度限制。IE:2048字符。Chrome大約是8182字符。post基本沒(méi)此限制。2.1.9表單中的控件<input>標(biāo)記根據(jù)不同的type屬性值,輸入字段擁有很多種形式,type的取值如下:text文本區(qū)域password密碼區(qū)域,輸入的文本以'*'展示radio單選框Checkbox復(fù)選框reset重置當(dāng)前<form>表單submit提交當(dāng)前<form>表單button常用于啟動(dòng)JavaScript程序file文件選擇標(biāo)簽hidden隱藏區(qū)域image圖像形式的提交按鈕

2.1.9表單中的控件<select>標(biāo)記屬性介紹:

size:默認(rèn)展示的下拉列表尺寸。默認(rèn)的為combox樣式;大于1時(shí),就是listbox樣式。

multiple:多項(xiàng)選擇,按住Ctrl+左鍵進(jìn)行多選。子項(xiàng):

optgroup:選擇項(xiàng)的類(lèi)別,不能被選中。

label屬性:類(lèi)別展示的名稱(chēng)

title屬性:鼠標(biāo)移到選擇項(xiàng)上去,要展示的信息

option:可選的項(xiàng)目

vlaue屬性:選擇項(xiàng)具體的名稱(chēng)

title屬性:鼠標(biāo)移到選擇項(xiàng)上去,要展示的信息2.1.9表單中的控件<textarea>標(biāo)記多行文本區(qū)域?qū)傩裕?/p>

rows:表示顯示的行數(shù)

cols:表示顯示的列數(shù)

readonly:是否只讀2.1.9表單中的控件ul、ol、li列表標(biāo)記ul

:unorderedlist(無(wú)序列表)ol

:orderedlist

(有序列表))li

:listitem(列表項(xiàng)目),基于上面2個(gè)列表子項(xiàng)目。2.1.10框架結(jié)構(gòu)在HTML中,框架(Frame)亦稱(chēng)為“幀”,使用框架可以獲得在同一個(gè)窗口中開(kāi)辟幾個(gè)子窗口以便同時(shí)顯示幾個(gè)不同頁(yè)面的效果。

框架集標(biāo)記框架結(jié)構(gòu)的所有內(nèi)容都包含在對(duì)標(biāo)記<FrameSet>和</FrameSet>之間。2.1.11CSS編程技術(shù)CSS概述CSS中文譯為層疊樣式表單,是一種用來(lái)裝飾HTML的標(biāo)記的集合。HTML是一種標(biāo)記語(yǔ)言,而CSS是對(duì)這種標(biāo)記的一種重要擴(kuò)展,可以進(jìn)一步美化頁(yè)面,彌補(bǔ)HTML對(duì)網(wǎng)頁(yè)格式化功能的不足,比如段落間距、行距、字體大小、排版定位等。CSS樣式規(guī)則組成語(yǔ)法為: 選擇符{屬性:值}單一選擇符的復(fù)合樣式聲明應(yīng)該用分號(hào)隔開(kāi):選擇符{屬性1:值1;屬性2:值2}加載CSS樣式的三種方式

1.在<Head>中引用在<Head>標(biāo)記中加上<Style>標(biāo)記即可。2.在<Body>中引用在<Body>中實(shí)現(xiàn)主要是指在標(biāo)記中引用,只要將定義在<Style>標(biāo)記中的值拿到對(duì)應(yīng)的標(biāo)記中就可以。3.文件外引用

這種方式可以將<Head>中定義的樣式另存為一個(gè)文件,樣式表文件的擴(kuò)展名是.css。CSS作為一個(gè)外部文件引入的方式有兩種,一種是鏈接,另一種是導(dǎo)入。

<Html><Head><StyleType="Text/CSS"> H1{Font-Size:36px;Color:Blue} H2{Font-Size:60px;Color:Red}</Style></Head><Body> <H1>電子商務(wù)</H1> <H2>網(wǎng)站建設(shè)</H2></Body></Html><Html><Body><H1Style="Font-Size:36px;Color:Blue">電子商務(wù)</H1><PStyle="BackGround:Yellow;Font-Size:24px;Color:Red">網(wǎng)站建設(shè)</P></Body></Html>2-19.cssH1{Font-Size:36px;Color:Blue}P{BackGround:Yellow;Font-Size:24px;Color:Red}<Html><Head><LinkRel=StylesheetHref=“2-19.css"Type="Text/CSS"></Head><Body><H1>電子商務(wù)</H1><P>網(wǎng)站建設(shè)</P></Body></Html>CSS與標(biāo)記對(duì)應(yīng)的三種方式

HTML標(biāo)記和CSS樣式表標(biāo)記有三種方式:標(biāo)記選擇符類(lèi)選擇符 在style標(biāo)記中定義一個(gè)“.類(lèi)名”,然后再HTML標(biāo)記中使用class=“類(lèi)名”就可以引入樣式。ID選擇符定義ID選擇符時(shí),在樣式名之前加“#名字”,引用的時(shí)候使用“ID=名字”<Html><Head><StyleType="Text/CSS">.T1{Font-Size:36px;Color:Blue}.T2{Font-Size:24px;Color:Red}</Style></Head><Body><DivClass="T1">電子商務(wù)</Div><SpanClass="T2">網(wǎng)站建設(shè)</Span></Body></Html><Html><Head><StyleType="Text/CSS"> #ABC{Font-Size:36px;Color:Blue}</Style></Head><Body><PID=ABC>電子商務(wù)</P></Body></Html>ROBOTS什么是ROBOTS.TXT

是一個(gè)純文本文件,通過(guò)在文件中聲明該網(wǎng)站中不想被robots訪(fǎng)問(wèn)的部分,這樣,該網(wǎng)站的部分或全部?jī)?nèi)容就可以不被搜索引擎收錄了,或者指定搜索引擎只收錄指定的內(nèi)容。當(dāng)一個(gè)搜索機(jī)器人訪(fǎng)問(wèn)一個(gè)站點(diǎn)時(shí),它會(huì)首先檢查該站點(diǎn)根目錄下是否存在robots.txt,如果找到,搜索機(jī)器人就會(huì)按照該文件中的內(nèi)容來(lái)確定訪(fǎng)問(wèn)的范圍,如果該文件不存在,那么搜索機(jī)器人就沿著鏈接抓取。ROBOTSrobots.txt必須放置在一個(gè)站點(diǎn)的根目錄下,而且文件名必須全部小寫(xiě)。例如: 禁止所有搜索引擎訪(fǎng)問(wèn)網(wǎng)站的任何部分:

User-agent:*

Disallow:/允許所有的robot訪(fǎng)問(wèn)

User-agent:*

Disallow:或者也可以建一個(gè)空文件“/robots.txt”file

禁止所有搜索引擎訪(fǎng)問(wèn)網(wǎng)站的幾個(gè)部分(下例中的cgi-bin、tmp目錄)

User-agent:*

Disallow:/cgi-bin/

Disallow:/tmp/ROBOTS 常見(jiàn)搜索引擎的ROBOT名: 名稱(chēng)搜索引擎

Baiduspider

Scooter

ia_archiver

Googlebot

ROBOTS什么是ROBOTSMETA

Robots.txt文件主要是限制整個(gè)站點(diǎn)或者目錄的搜索引擎訪(fǎng)問(wèn)情況,而RobotsMETA標(biāo)簽則主要是針對(duì)一個(gè)個(gè)具體的頁(yè)面。和其他的META標(biāo)簽一樣,專(zhuān)門(mén)用來(lái)告訴搜索引擎ROBOTS如何抓取該頁(yè)的內(nèi)容。

ROBOTS注意的是

上述的robots.txt和RobotsMETA標(biāo)簽限制搜索引擎機(jī)器人(ROBOTS)抓取站點(diǎn)內(nèi)容的辦法只是一種規(guī)則,需要搜索引擎機(jī)器人的配合才行,并不是每個(gè)ROBOTS都遵守的。

目前絕大多數(shù)的搜索引擎機(jī)器人都遵守robots.txt的規(guī)則,而對(duì)于RobotsMETA標(biāo)簽,目前支持的并不多,但是正在逐漸增加,如著名搜索引擎GOOGLE就完全支持MIME英文全稱(chēng)是“MultipurposeInternetEmailExtension”多功能Internet郵件擴(kuò)充服務(wù)作用:

服務(wù)器會(huì)借助MIME類(lèi)型將它們發(fā)送的多媒體數(shù)據(jù)的類(lèi)型告訴瀏覽器,讓瀏覽器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等。瀏覽器使用相應(yīng)的插件讀取相關(guān)文件。MIME常見(jiàn)的MIME類(lèi)型

超文本標(biāo)記語(yǔ)言文本 .html,.htmltext/html

普通文本 .txttext/plain

RTF文本 .rtfapplication/rtf

GIF圖形 .gifimage/gif

JPEG圖形 .ipeg,.jpgimage/jpeg

au聲音文件 .auaudio/basic

MIDI音樂(lè)文件mid,.midiaudio/midi,audio/x-midi

RealAudio音樂(lè)文件.ra,.ramaudio/x-pn-realaudio

MPEG文件 .mpg,.mpegvideo/mpeg

AVI文件 .avivideo/x-msvideo

GZIP文件 .gzapplication/x-gzip

TAR文件 .tarapplication/x-tar

Internet中有一個(gè)專(zhuān)門(mén)組織IANA來(lái)確認(rèn)標(biāo)準(zhǔn)的MIME類(lèi)型,但I(xiàn)nternet發(fā)展的太快,很多應(yīng)用程序等不及IANA來(lái)確認(rèn)他們使用的MIME類(lèi)型為標(biāo)準(zhǔn)類(lèi)型。因此他們使用在類(lèi)別中以x-開(kāi)頭的方法標(biāo)識(shí)這個(gè)類(lèi)別還沒(méi)有成為標(biāo)準(zhǔn),例如:x-gzip,x-tar等。2.2JavaScript腳本語(yǔ)言2.2.1JavaScript腳本語(yǔ)言概述2.2.2在JSP中引入JavaScript2.2.3JavaScript的數(shù)據(jù)類(lèi)型與運(yùn)算符2.2.4JavaScript的流程控制語(yǔ)句2.2.5函數(shù)的定義和調(diào)用2.2.6事件2.2.7JavaScript常用對(duì)象的應(yīng)用√√√√√√√2.2.1JavaScript腳本語(yǔ)言概述JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有安全性能的解釋型腳本語(yǔ)言可以用于編寫(xiě)客戶(hù)端的腳本程序,由Web瀏覽器解釋執(zhí)行,還可以編寫(xiě)在服務(wù)器端執(zhí)行的腳本程序,在服務(wù)器端處理用戶(hù)提交的信息并動(dòng)態(tài)地向?yàn)g覽器返回處理結(jié)果,在JSP中應(yīng)用JavaScript編寫(xiě)客戶(hù)端腳本程序。2.2.2在JSP中引入JavaScript1.在頁(yè)面中直接嵌入JavaScript

在Web頁(yè)面中,可以使用<script>...</script>標(biāo)記對(duì)封裝腳本代碼,當(dāng)瀏覽器讀取到<script>標(biāo)記時(shí),將解釋執(zhí)行其中的腳本。例如:<scriptlanguage="javascript">…</script>2.鏈接外部JavaScript在JSP中引入JavaScript的另一種方法是采用鏈接外部JavaScript文件的形式。例如:<scriptlanguage="javascript"src="javascript.js"></script>

說(shuō)明:在外部JS文件中,不需要將腳本代碼用<script>和</script>標(biāo)記括起來(lái)。2.2.3JavaScript的數(shù)據(jù)類(lèi)型與運(yùn)算符

數(shù)據(jù)類(lèi)型

變量

運(yùn)算符√√√數(shù)據(jù)類(lèi)型JavaStript有6種數(shù)據(jù)類(lèi)型,如下表所示。類(lèi)型含義說(shuō)明示例int數(shù)值整型整數(shù),可以為正數(shù)、負(fù)數(shù)或017,80,0float浮點(diǎn)型浮點(diǎn)數(shù),可以使用實(shí)數(shù)的普通形式或科學(xué)計(jì)數(shù)法表示3.14159.27,6.16e4string字符串類(lèi)型字符串,是用單引號(hào)或雙引號(hào)括起來(lái)的一個(gè)或多個(gè)字符'wgh',"平平淡淡才是真"boolean布爾型只有true或false兩個(gè)值true,falseobject對(duì)象類(lèi)型null空類(lèi)型沒(méi)有任何值undefined未定義類(lèi)型指變量被創(chuàng)建,但未賦值時(shí)所具有的值變量變量是指程序中一個(gè)已經(jīng)命名的存儲(chǔ)單元,主要作用就是為數(shù)據(jù)操作提供存放信息的容器。在JavaScript中,可以使用命令var聲明變量,語(yǔ)法格式如下:varvariable;在聲明變量的同時(shí)也可以對(duì)變量進(jìn)行賦值:varvariable=11;由于JavaScript采用弱類(lèi)型的形式,所以在聲明變量時(shí),不需要指定變量的類(lèi)型,而變量的類(lèi)型將根據(jù)其變量賦值來(lái)確定。例如:varvarible=17; //數(shù)值型varstr="愛(ài)護(hù)地球"; //字符型變量但是變量命名必須遵循以下規(guī)則:(2)不能使用JavaScript中的關(guān)鍵字、函數(shù)名、對(duì)象名及自定義的方法名等。JavaScript的關(guān)鍵字如下表:(1)必須以字母或下劃線(xiàn)開(kāi)頭,中間可以是數(shù)字、字母或下劃線(xiàn),但是不能有空格或加號(hào)、減號(hào)等符號(hào)。abstractcontinuefinallyinstanceofprivatethisbooleandefaultfloatintpublicthrowbreakdoforinterfacereturntypeofbytedoublefunctionlongshorttruecaseelsegotonativestaticvarcatchextendsimplementsnewsupervoidcharfalseimportnullswitchwhileclassfinalinpackagesynchronizedwith運(yùn)算符1、算術(shù)運(yùn)算符算術(shù)運(yùn)算符等同于數(shù)學(xué)運(yùn)算,即在程序中進(jìn)行加、減、乘、除等運(yùn)算。2、關(guān)系運(yùn)算符關(guān)系運(yùn)算符的基本操作過(guò)程是:首先對(duì)操作數(shù)進(jìn)行比較,這個(gè)操作數(shù)可以是數(shù)字也可以是字符串,然后返回一個(gè)布爾值true或false。3、邏輯運(yùn)算符邏輯運(yùn)算符返回一個(gè)布爾值,通常和比較運(yùn)算符一起使用,常用于if、while和for語(yǔ)句中。運(yùn)算符4、字符串運(yùn)算符字符串運(yùn)算符是用于兩個(gè)字符型數(shù)據(jù)之間的運(yùn)算符,除了比較運(yùn)算符外,還可以是+和+=運(yùn)算符。5、賦值運(yùn)算符最基本的賦值運(yùn)算符是等于號(hào)“=”,用于對(duì)變量進(jìn)行賦值。6、位操作運(yùn)算符位操作運(yùn)算符用于對(duì)數(shù)值的位進(jìn)行操作,如向左或向右移位等。7、條件運(yùn)算符條件運(yùn)算符是JavaScript支持的一種特殊的3目運(yùn)算符,同Java中的3目運(yùn)算符類(lèi)似操作數(shù)?結(jié)果1:結(jié)果22.2.4JavaScript的流程控制語(yǔ)句if條件判斷語(yǔ)句for循環(huán)語(yǔ)句while循環(huán)語(yǔ)句do…while循環(huán)語(yǔ)句switch語(yǔ)句√√√√√if條件判斷語(yǔ)句對(duì)變量或表達(dá)式進(jìn)行判定并根據(jù)判定結(jié)果進(jìn)行相應(yīng)的處理,可以使用if語(yǔ)句。if語(yǔ)句的語(yǔ)法格式如下:if(條件表達(dá)式){ 語(yǔ)句序列1//條件滿(mǎn)足時(shí)執(zhí)行}else{ 語(yǔ)句序列2//條件不滿(mǎn)足時(shí)執(zhí)行}for循環(huán)語(yǔ)句

for語(yǔ)句是JavaScript語(yǔ)言中應(yīng)用比較廣泛的條件語(yǔ)句。通常for語(yǔ)句使用一個(gè)變量作為計(jì)數(shù)器來(lái)執(zhí)行循環(huán)的次數(shù),這個(gè)變量就稱(chēng)為循環(huán)變量。for語(yǔ)句的語(yǔ)法格式如下:for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值){ 循環(huán)體}for語(yǔ)句可以使用break語(yǔ)句來(lái)中止循環(huán)語(yǔ)句的執(zhí)行。break語(yǔ)句默認(rèn)情況下是終止當(dāng)前的循環(huán)語(yǔ)句。<scripttype="text/javascript">varstr="7";for(i=0;i<4;i++){ str="0"+str;}document.write(str);document.write("<br>");</script>while循環(huán)語(yǔ)句while循環(huán)語(yǔ)句是另一種基本的循環(huán)語(yǔ)句,其結(jié)構(gòu)和for循環(huán)語(yǔ)句有些類(lèi)似,但是while語(yǔ)句不包含循環(huán)變量的初始化及循環(huán)變量的步幅。其語(yǔ)法格式如下:while(條件表達(dá)式){ 循環(huán)體}使用while語(yǔ)句時(shí),必須先聲明循環(huán)變量并且在循環(huán)體中指定循環(huán)變量的步幅,否則while語(yǔ)句將成為一個(gè)死循環(huán)。do…while循環(huán)語(yǔ)句do…while循環(huán)語(yǔ)句和while循環(huán)語(yǔ)句非常相似,所不同的是它是在循環(huán)底部檢測(cè)循環(huán)表達(dá)式,而不是像while循環(huán)語(yǔ)句那樣在循環(huán)頂部進(jìn)行檢測(cè)。這就保證了循環(huán)體至少被執(zhí)行一次。do…while語(yǔ)句的語(yǔ)法格式如下:do{ 循環(huán)體}while(條件表達(dá)式);switch語(yǔ)句switch是典型的多路分支語(yǔ)句,其作用與嵌套使用if語(yǔ)句基本相同,但switch語(yǔ)句比if語(yǔ)句更具有可讀性,而且switch語(yǔ)句允許在找不到一個(gè)匹配條件的情況下執(zhí)行默認(rèn)的一組語(yǔ)句。switch語(yǔ)句的語(yǔ)法格式如下:switch(expression){casejudgement1:statement1;break;casejudgement2:statement2;break;…default:defaultstatement;break;}2.2.5函數(shù)的定義和調(diào)用1.函數(shù)的定義在JavaScript中,定義函數(shù)最常的方法是通過(guò)function語(yǔ)句實(shí)現(xiàn),其語(yǔ)法格式如下:functionfunctionName([parameter1,parameter2,…]){ statements [returnexpression]}2.函數(shù)的調(diào)用調(diào)用不帶參數(shù)的函數(shù),則使用函數(shù)名加上括號(hào)即可調(diào)用的函數(shù)帶參數(shù),則在括號(hào)中加上需要傳遞的參數(shù)若函數(shù)有返回值,可以使用賦值語(yǔ)句將函數(shù)值賦給一個(gè)變量在JavaScript中,函數(shù)名區(qū)分大小寫(xiě)2.2.6事件概述1.事件事件(Event),當(dāng)人與瀏覽器中Web頁(yè)面進(jìn)行某些類(lèi)型的交互時(shí),事件就發(fā)生了。例如,在頁(yè)面載入完畢事件;當(dāng)用戶(hù)單擊按鈕事件等。2.事件處理程序用于響應(yīng)某個(gè)事件而執(zhí)行的處理程序稱(chēng)為事件處理程序,例如,當(dāng)用戶(hù)單擊按鈕時(shí),將觸發(fā)按鈕的事件處理程序onClick。事件處理程序有以下兩種分配方式。(1)在JavaScript中分配事件處理程序<imgsrc="images/download.GIF"id="img_download"><scriptlanguage="javascript">varimg=document.getElementById("img_download");img.onclick=function(){ alert("單擊了圖片");}</script>在頁(yè)面中加入這段代碼并運(yùn)行,則當(dāng)單擊圖片img_download時(shí),將彈出“單擊了下載圖片”對(duì)話(huà)框。2.2.6事件注意:在JavaScript中分配事件處理程序時(shí),事件處理程序名稱(chēng)必須小寫(xiě),才能正確響應(yīng)事件。2.2.6事件(2)在HTML中分配事件處理程序在HTML中分配事件處理程序,只需要在HTML標(biāo)記中添加相應(yīng)的事件處理程序的屬性,并在其中指定作為屬性值的代碼或是函數(shù)名稱(chēng)即可。例如:<imgsrc="images/download.GIF"onClick="alert('單擊了圖片');">在頁(yè)面中加入上面的代碼,并運(yùn)行,則當(dāng)單擊圖片img_download時(shí),將彈出“您單擊了圖片”對(duì)話(huà)框。2.2.6事件3.事件類(lèi)型多數(shù)瀏覽器內(nèi)部對(duì)象都擁有很多事件,下面的表中將給出常用的事件、事件處理程序及何時(shí)觸這些事件處理程序。事件事件處理程序何時(shí)觸發(fā)bluronblur元素或窗口本身失去焦點(diǎn)時(shí)觸發(fā)changeonchange選中<select>元素中的選項(xiàng)或其他表單元素失去焦點(diǎn)時(shí),并且在其獲取焦點(diǎn)后內(nèi)容發(fā)生過(guò)改變時(shí)觸發(fā)clickonclick單擊鼠標(biāo)左鍵時(shí)觸發(fā)focusonfocus任何元素或窗口本身獲得焦點(diǎn)時(shí)觸發(fā)keydownonkeydown鍵盤(pán)鍵被按下時(shí)觸發(fā),如果一直按著某鍵,則會(huì)不斷觸發(fā);當(dāng)返回false時(shí),取消默認(rèn)動(dòng)作loadonload頁(yè)面完全載入后,在window對(duì)象上觸發(fā);所有框架都載入后,在框架集上觸發(fā);<img>標(biāo)記指定的圖像完全載入后,在其上觸發(fā);或<object>標(biāo)記指定的對(duì)象完全載入后,在其上觸發(fā)selectonselect選中文本時(shí)觸發(fā)submitonsubmit單擊提交按鈕時(shí),在<form>上觸發(fā)unloadonunload頁(yè)面完全卸載后,在window對(duì)象上觸發(fā);或者所有框架都卸載后,在框架集上觸發(fā)2.2.7JavaScript常用對(duì)象的應(yīng)用1.String對(duì)象

String對(duì)象是動(dòng)態(tài)對(duì)象,需要?jiǎng)?chuàng)建對(duì)象實(shí)例后才能引用它的屬性和方法。

在創(chuàng)建一個(gè)String對(duì)象變量時(shí),可以使用new運(yùn)算符與來(lái)創(chuàng)建,也可以直接將字符串賦給變量。例如:strValue="hello"與strVal=newString("hello")是等價(jià)的String對(duì)象的常用屬性和方法如下表所示。2.2.7JavaScript常用對(duì)象的應(yīng)用屬性/方法說(shuō)明length用于返回String對(duì)象的長(zhǎng)度split(separator,limit)用separator分隔符將字符串劃分成子串并將其存儲(chǔ)到數(shù)組中,如果指定了limit,則數(shù)組限定為limit給定的數(shù),separator分隔符可以是多個(gè)字符或一個(gè)正則表達(dá)式,它不作為任何數(shù)組元素的一部分返回substr(start,length)返回字符串中從startIndex開(kāi)始的length個(gè)字符的子字符串substring(from,to)返回以from開(kāi)始、以to結(jié)束的子字符串replace(searchValue,replaceValue)將searchValue換成replaceValue并返回結(jié)果charAt(index)返回字符串對(duì)象中的指定索引號(hào)的字符組成的字符串,位置的有效值為0到字符串長(zhǎng)度減1的數(shù)值;一個(gè)字符串的第一個(gè)字符的索引位置為0,第二個(gè)字符位于索引位置1,依次類(lèi)推;當(dāng)指定的索引位置超出有效范圍時(shí),charAt方法返回一個(gè)空字符串toLowerCase()返回一個(gè)字符串,該字符串中的所有字母都被轉(zhuǎn)換為小寫(xiě)字母toUpperCase()返回一個(gè)字符串,該字符串中的所有字母都被轉(zhuǎn)換為大寫(xiě)字母2.Date對(duì)象Date對(duì)象是一個(gè)有關(guān)日期和時(shí)間的對(duì)象。它具有動(dòng)態(tài)性,即必須使用new運(yùn)算符創(chuàng)建一個(gè)實(shí)例。例如:mydate=newDate();Date對(duì)象沒(méi)有提供直接訪(fǎng)問(wèn)的屬性,只具有獲取和設(shè)置日期和時(shí)間的方法。Date對(duì)象的方法如下表所示。2.2.7JavaScript常用對(duì)象的應(yīng)用2.2.7JavaScript常用對(duì)象的應(yīng)用獲取日期和時(shí)間的方法說(shuō)明設(shè)置日期和時(shí)間的方法說(shuō)明getFullYear()返回用4位數(shù)表示的年份setFullYear()設(shè)置年份,用4位數(shù)表示getMonth()返回月份(0~11)setMonth()設(shè)置月份(0~11)getDate()返回日數(shù)(1~31)setDate()設(shè)置日數(shù)(1~31)getDay()返回星期(0~6)setDay()設(shè)置星期(0~6)getHours()返回小時(shí)數(shù)(0~23)setHours()設(shè)置小時(shí)數(shù)(0~23)getMinutes()返回分鐘數(shù)(0~59)setMinutes()設(shè)置分鐘數(shù)(0~59)getSeconds()返回秒數(shù)(0~59)setSeconds()設(shè)置秒數(shù)(0~59)getTime()返回Date對(duì)象的內(nèi)部毫秒表示setTime()使用毫秒形式設(shè)置Date對(duì)象2.2.7JavaScript常用對(duì)象的應(yīng)用3.window對(duì)象window對(duì)象是瀏覽器(網(wǎng)頁(yè))的文檔對(duì)象模型結(jié)構(gòu)中最高級(jí)的對(duì)象,它處于對(duì)象層次的頂端提供了用于控制瀏覽器窗口的屬性和方法由于window對(duì)象使用十分頻繁,又是其他對(duì)象的父對(duì)象,所以在使用window對(duì)象的屬性和方法時(shí),JavaScript允許省略window對(duì)象的名稱(chēng)。window對(duì)象的常用屬性如下表所示。Window對(duì)象的常用屬性屬性描述frames表示當(dāng)前窗口中所有frame對(duì)象的集合location用于代表窗口或框架的Location對(duì)象,如果將一個(gè)RUL賦予給該屬性,那瀏覽器將加載并顯示該URL指定的文檔length窗口或框架包含的框架個(gè)數(shù)history對(duì)窗口或框架的History對(duì)象的只讀引用name用于存放窗口的名字status一個(gè)可讀寫(xiě)的字符,用于指定狀態(tài)欄中的當(dāng)前信息parent表示包含當(dāng)前窗口的父窗口opener表示打開(kāi)當(dāng)前窗口的父窗口closed一個(gè)只讀的布爾值,表示當(dāng)前窗口是否關(guān)閉;當(dāng)瀏覽器窗口關(guān)閉時(shí),表示該窗口的window對(duì)象并不會(huì)消失,不過(guò)它的closed屬性被設(shè)置為trueWindow對(duì)象的常用方法方法描述alert()彈出一個(gè)警告對(duì)話(huà)框confirm()顯示一個(gè)確認(rèn)對(duì)話(huà)框,單擊“確認(rèn)”按鈕時(shí)返回true,否則返回falseprompt()彈出一個(gè)提示對(duì)話(huà)框,并要求輸入一個(gè)簡(jiǎn)單的字符串close()關(guān)閉窗口focus()把鍵盤(pán)的焦點(diǎn)賦予給頂層瀏覽器窗口,在多數(shù)平臺(tái)上,這將使用窗口移到最前邊open()打開(kāi)一個(gè)新窗口setTimeout(timer)在經(jīng)過(guò)指定的時(shí)間后執(zhí)行代碼clearTimeout()取消對(duì)指定代碼的延遲執(zhí)行resizeBy(offsetx,offsety)按照指定的位移量設(shè)置窗口的大小print()相當(dāng)于瀏覽器工具欄中的“打印”按鈕setInterval()周期執(zhí)行指定的代碼clearInterval()停止周期性地執(zhí)行代碼2.3Java語(yǔ)言基礎(chǔ)2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)2.3.2基本數(shù)據(jù)類(lèi)型及基本數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換2.3.3常量與變量2.3.4運(yùn)算符的應(yīng)用2.3.5流程控制語(yǔ)句2.3.6字符串處理2.3.7數(shù)組的創(chuàng)建與應(yīng)用2.3.8集合類(lèi)的應(yīng)用2.3.9異常處理語(yǔ)句√√√√√√√√√2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)

面向?qū)ο蟪绦蛟O(shè)計(jì)是軟件設(shè)計(jì)和實(shí)現(xiàn)的有效方法,這種方法可以提供軟件的可擴(kuò)充性和可重用性。客觀(guān)世界中的一個(gè)事物就是一個(gè)對(duì)象,每個(gè)客觀(guān)事物都有自己的特征和行為。從程序設(shè)計(jì)的角度來(lái)看,事物的特性就是數(shù)據(jù),行為就是方法。面向?qū)ο蟮某绦蛟O(shè)計(jì)方法就是將客觀(guān)事物抽象成為“類(lèi)”,并通過(guò)類(lèi)的“繼承”實(shí)現(xiàn)軟件的可擴(kuò)充性和可重用性。2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)1.類(lèi)的基本概念

類(lèi)是用來(lái)創(chuàng)建對(duì)象的模板,它包含被創(chuàng)建的對(duì)象的狀態(tài)描述和方法的定義。要學(xué)習(xí)Java編程就必須學(xué)會(huì)怎樣去編寫(xiě)類(lèi)類(lèi)把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作封裝成一個(gè)整體。2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)在Java中定義類(lèi)主要分為兩部分:類(lèi)的聲明和類(lèi)體。類(lèi)體主要由兩部分構(gòu)成:一部分是成員變量的定義另一部分是成員方法的定義。2.定義類(lèi)[修飾符]class<類(lèi)名>[extends父類(lèi)名][implements接口列表]{定義成員變量 定義成員方法}用于指定類(lèi)的訪(fǎng)問(wèn)權(quán)限,可選值為public、abstract和final用于指定要定義的類(lèi)繼承于哪個(gè)父類(lèi)用于指定該類(lèi)實(shí)現(xiàn)的是哪些接口2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)3.定義成員方法

Java中類(lèi)的行為由類(lèi)的成員方法來(lái)實(shí)現(xiàn)。類(lèi)的成員方法由方法的聲明和方法體兩部分組成,其一般格式如下:[修飾符]<方法返回值的類(lèi)型><方法名>([參數(shù)列表]){ [方法體]}修飾符:可選參數(shù),用于指定方法的被訪(fǎng)問(wèn)權(quán)限,可選值為public、protected和private。2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)【例】在Fruit類(lèi)中聲明兩個(gè)成員方法grow()和harvest()publicclassFruit{//定義一個(gè)無(wú)返回值的成員方法 publicvoidgrow(){ System.out.println("果樹(shù)正在生長(zhǎng)……"); }//定義一個(gè)返回值為String類(lèi)型的成員方法 publicStringharvest(){ Stringrtn="水果已經(jīng)收獲……";//定義一個(gè)局部變量 returnrtn; }}2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)4.成員變量與局部變量

(1)聲明成員變量在類(lèi)體中變量定義部分所聲明的變量為類(lèi)的成員變量。用成員變量用來(lái)表示類(lèi)的屬性。聲明方法如下:[修飾符][static][final][transient][volatile]<變量類(lèi)型><變量名>;用于指定變量的被訪(fǎng)問(wèn)權(quán)限,public、protected和private用于指定該成員變量為靜態(tài)變量,可以直接通過(guò)類(lèi)名訪(fǎng)問(wèn)。如果省略該關(guān)鍵字,則表示該成員變量為實(shí)例變量。用final修飾,表示常量(2)聲明局部變量方法體中聲明的變量和方法的參數(shù)則稱(chēng)為局部變量。定義局部變量時(shí)不能使用public、protected、private和static關(guān)鍵字對(duì)局部變量進(jìn)行修飾,但可以使用final關(guān)鍵字。語(yǔ)法格式如下:[final]<變量類(lèi)型><變量名>;2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)成員變量和局部變量的區(qū)別

有效范圍不同。成員變量在整個(gè)類(lèi)內(nèi)都有效,而局部變量只在定義它的成員方法內(nèi)才有效。2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)5.構(gòu)造方法的概念及用途概念:

構(gòu)造方法是一種特殊的方法,它的名字必須與它所在類(lèi)的名字完全相同,并且沒(méi)有返回值,也不需要使用關(guān)鍵字void進(jìn)行標(biāo)識(shí)。用途:

構(gòu)造方法用于對(duì)對(duì)象中的所有成員變量進(jìn)行初始化,在創(chuàng)建對(duì)象時(shí)立即被調(diào)用。注意:

如果用戶(hù)沒(méi)有定義構(gòu)造方法,Java會(huì)自動(dòng)提供一個(gè)默認(rèn)的構(gòu)造方法,用來(lái)實(shí)現(xiàn)成員變量的初始。2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)6.創(chuàng)建Java類(lèi)對(duì)象(1)聲明對(duì)象對(duì)象是類(lèi)的實(shí)例,屬于某個(gè)已經(jīng)聲明的類(lèi)。因此,在對(duì)對(duì)象進(jìn)行聲明之前,一定要先定義該對(duì)象的類(lèi)。Fruitfruit;//只是建立一個(gè)引用,并置初值為null,并不分配內(nèi)存空間。

(2)為對(duì)象分配內(nèi)存

為對(duì)象分配內(nèi)存也稱(chēng)為實(shí)例化對(duì)象。在Java中使用關(guān)鍵字new來(lái)實(shí)例化對(duì)象,例如:fruit=newFruit();Fruitfruit=newFruit();//將聲明與分配內(nèi)存相結(jié)合2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)7.對(duì)象的使用通過(guò)使用運(yùn)算符“.”實(shí)現(xiàn)對(duì)成員變量的訪(fǎng)問(wèn)和成員方法的調(diào)用。例:2-32.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)8.對(duì)象的銷(xiāo)毀Java提供的垃圾回收機(jī)制可以自動(dòng)判斷對(duì)象是否還在使用,并能夠自動(dòng)銷(xiāo)毀不再使用的對(duì)象,收回對(duì)象所占用的資源。不需要手動(dòng)完成這項(xiàng)工作。Java提供了一個(gè)名為finalize()的析構(gòu)方法,用于在對(duì)象被垃圾回收機(jī)制銷(xiāo)毀之前,由垃圾回收系統(tǒng)調(diào)用。但是垃圾回收系統(tǒng)的運(yùn)行是不可預(yù)測(cè)的。在Java程序中,也可以使用析構(gòu)方法finalize()隨時(shí)來(lái)銷(xiāo)毀一個(gè)對(duì)象。析構(gòu)方法finalize()沒(méi)有任何參數(shù)和返回值,每個(gè)類(lèi)有且只有一個(gè)析構(gòu)方法。2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)9.包

包(package)是Java提供的一種區(qū)別類(lèi)的名字空間的機(jī)制,是類(lèi)的組織方式,是一組相關(guān)類(lèi)和接口的集合,它提供了訪(fǎng)問(wèn)權(quán)限和命名的管理機(jī)制。Java中提供的包主要有以下3種用途:①將功能相近的類(lèi)放在同一個(gè)包中,方便查找與使用;②由于在不同包中可以存在同名類(lèi),所以使用包在一定程度上可以避免命名沖突;③在Java中,某些訪(fǎng)問(wèn)權(quán)限是以包為單位的。2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)創(chuàng)建包可以通過(guò)在類(lèi)或接口的源文件中使用package語(yǔ)句實(shí)現(xiàn),package語(yǔ)句的語(yǔ)法格式如下:(1)創(chuàng)建包package包名;(2)使用包中的類(lèi)

類(lèi)可以訪(fǎng)問(wèn)其所在包中的所有類(lèi),還可以使用其他包中的所有public類(lèi)。訪(fǎng)問(wèn)其他包中的public類(lèi)可以有以下兩種方法。使用長(zhǎng)名引用包中的類(lèi)使用import語(yǔ)句引入包中的類(lèi)com.wgh.Circcirc=newcom.wgh.Circ();importcom.wgh.Circ;2.3.2基本數(shù)據(jù)類(lèi)型及基本數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換1.基本數(shù)據(jù)類(lèi)型Java基本數(shù)據(jù)類(lèi)型主要包括整數(shù)類(lèi)型、浮點(diǎn)類(lèi)型、字符類(lèi)型和布爾類(lèi)型。其中整數(shù)類(lèi)型又分為字節(jié)型(byte)、短整型(short)、整型(int)和長(zhǎng)整型(long),它們都用來(lái)定義一個(gè)整數(shù),唯一的區(qū)別就是它們所定義的整數(shù)所占用內(nèi)存的空間不同,因此整數(shù)的取值范圍也不同;Java中的浮點(diǎn)類(lèi)型又包括單精度類(lèi)型(float)和雙精度類(lèi)型(double),在程序中使用這兩種類(lèi)型來(lái)存儲(chǔ)小數(shù)。2.3.1面向?qū)ο蟪绦蛟O(shè)計(jì)各種基本數(shù)據(jù)類(lèi)型的取值范圍、占用的內(nèi)存大小及默認(rèn)值數(shù)據(jù)類(lèi)型關(guān)鍵字占用內(nèi)存取值范圍默認(rèn)值整數(shù)類(lèi)型字節(jié)型byte8位128~1270短整型short16位32768~327670整型int32位2147483648~21474836470長(zhǎng)整型long64位9223372036854775808~92233720368547758070浮點(diǎn)類(lèi)型單精度型float32位1.4E-45~3.4028235E380.0f雙精度型double64位4.9E-324~1.7976931348623157E3080.0d字符型字符型char16位16位的Unicode字符,可容納各國(guó)的字符集;若以Unicode來(lái)看,就是'\u0000'到'\uufff';若以整數(shù)來(lái)看,范圍在0~65535,例如,65代表'A''\u0000'布爾型布爾型boolean8位true和falsefalse2.3.2基本數(shù)據(jù)類(lèi)型及基本數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換

2.基本數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換

(1)自動(dòng)類(lèi)型轉(zhuǎn)換從低級(jí)類(lèi)型向高級(jí)類(lèi)型的轉(zhuǎn)換為自動(dòng)類(lèi)型轉(zhuǎn)換。(2)強(qiáng)制類(lèi)型轉(zhuǎn)換如果把高級(jí)數(shù)據(jù)類(lèi)型數(shù)據(jù)賦值給低級(jí)類(lèi)型變量,就必須進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,否則編譯出錯(cuò)。(欲轉(zhuǎn)換成的數(shù)據(jù)類(lèi)型)值2.3.3常量與變量1.變量變量是Java程序中的基本存儲(chǔ)單元,它的定義包括變量名、變量類(lèi)型和作用域幾個(gè)部分。(1)變量名是一個(gè)合法的標(biāo)識(shí)符,它是字母、數(shù)字、下劃線(xiàn)或美元符“$”的序列,Java對(duì)變量名區(qū)分大小寫(xiě),變量名不能以數(shù)字開(kāi)頭,而且不能為關(guān)鍵字。(2)變量類(lèi)型用于指定變量的數(shù)據(jù)類(lèi)型,可以通過(guò)int、float、double和char等關(guān)鍵字來(lái)指定。(3)變量的有效范圍是指程序代碼能夠訪(fǎng)問(wèn)該變量的區(qū)域,若超出該區(qū)域訪(fǎng)問(wèn)變量,則編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤。根據(jù)有效范圍,變量分為:成員變量,局部變量。2.3.3常量與變量publicclassGame{ privateintmedal_All=800; //成員變量 publicvoidChina(){ intmedal_CN=100; //方法的局部變量 if(true){ //代碼塊 intgold=50; //代碼塊的局部變量 medal_CN+=50;//允許訪(fǎng)問(wèn)medal_All-=150; //允許訪(fǎng)問(wèn) } gold=100; //編譯出錯(cuò) medal_CN+=100; //允許訪(fǎng)問(wèn) medal_All-=200; //允許訪(fǎng)問(wèn) } publicvoidOther(){ medal_All=800; //允許訪(fǎng)問(wèn) medal_CN=100;//編譯出錯(cuò),不能訪(fǎng)問(wèn)其他方法中的局部變量 gold=10; //編譯出錯(cuò)

}}2.3.3常量與變量2.常量在Java中寫(xiě)下一個(gè)數(shù)值,這個(gè)數(shù)就稱(chēng)為字面常數(shù)。它會(huì)存儲(chǔ)于內(nèi)存中的某個(gè)位置,用戶(hù)將無(wú)法改變它的值。在Java中,也可以用final關(guān)鍵字來(lái)定義常量。2.3.4運(yùn)算符的應(yīng)用1.賦值運(yùn)算符Java中的賦值運(yùn)算符可以分為簡(jiǎn)單賦值運(yùn)算和復(fù)合賦值運(yùn)算。

簡(jiǎn)單賦值運(yùn)算是將賦值運(yùn)算符(=)右邊的表達(dá)式的值保存到賦值運(yùn)算符左邊的變量中。

復(fù)合賦值運(yùn)算是混合了其他操作(算術(shù)運(yùn)算操作、位操作等)和賦值操作,如:sum+=i; //等同于sum=sum+i;2.3.4運(yùn)算符的應(yīng)用Java中的賦值運(yùn)算符如下表所示。運(yùn)算符說(shuō)明運(yùn)算符說(shuō)明=簡(jiǎn)單賦值&=進(jìn)行與運(yùn)算后賦值+=相加后賦值|=進(jìn)行或運(yùn)算后賦值=相減后賦值^=進(jìn)行異或運(yùn)算后賦值*=相乘后賦值<<=左移之后賦值/=相除后賦值>>=帶符號(hào)右移后賦值%=求余后賦值>>>=填充零右移后賦值2.3.4運(yùn)算符的應(yīng)用2.算術(shù)運(yùn)算符算術(shù)運(yùn)算符支持整型和浮點(diǎn)型數(shù)據(jù)的運(yùn)算,當(dāng)整型與浮點(diǎn)型數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算時(shí),會(huì)進(jìn)行自動(dòng)類(lèi)型轉(zhuǎn)換,結(jié)果為浮點(diǎn)型。運(yùn)算符說(shuō)明舉例結(jié)果及類(lèi)型+加法1.23f+10結(jié)果:11.23 類(lèi)型:float

減法4.56-0.5f結(jié)果:4.06類(lèi)型:double*乘法3*9L結(jié)果:27類(lèi)型:long/除法9/4結(jié)果:2類(lèi)型:int%求余數(shù)10%3結(jié)果:1類(lèi)型:int2.3.4運(yùn)算符的應(yīng)用3.關(guān)系運(yùn)算符通過(guò)關(guān)系運(yùn)算符計(jì)算的結(jié)果是一個(gè)boolean類(lèi)型值。其中等于和不等于運(yùn)算符適用于引用類(lèi)型和所有的基本數(shù)據(jù)類(lèi)型,而其他的關(guān)系運(yùn)算符只適用于除boolean類(lèi)型外的所有基本數(shù)據(jù)類(lèi)型。運(yùn)算符說(shuō)明舉例結(jié)果運(yùn)算符說(shuō)明舉例結(jié)果>大于'a'>'b'false<=小于或等于1.67f<=1.67ftrue<小于200>100true==等于1.0==1true>=大于或等于11.11>=10true!=不等于'天'!='天'false2.3.4運(yùn)算符的應(yīng)用4.邏輯運(yùn)算符邏輯運(yùn)算符經(jīng)常用來(lái)連接關(guān)系表達(dá)式,對(duì)關(guān)系表達(dá)式的值進(jìn)行邏輯運(yùn)算,因此邏輯運(yùn)算符的運(yùn)算對(duì)象必須是邏輯型數(shù)據(jù),其邏輯表達(dá)式的運(yùn)行結(jié)果也是邏輯型數(shù)據(jù)。運(yùn)算符意義運(yùn)算結(jié)果&邏輯與true&true:true ,false&false:false ,true&false:false|邏輯或true!true:true ,false!false:false ,true!false:true^異或true&true:false ,false&false:false ,true&false:true||短路或true&true:true ,false&false:false ,true&false:true&&短路與true&true:true ,false&false:false ,true&false:false!邏輯反!true:false,!false:true==相等true==true:true ,false==false:true ,true==false:false!=不相等true!=true:false ,false!=false:false,true!=false:true2.3.4運(yùn)算符的應(yīng)用5.位運(yùn)算符

位運(yùn)算符用于對(duì)數(shù)值的位進(jìn)行操作,參與運(yùn)算的操作數(shù)只能是int或long類(lèi)型。在不產(chǎn)生溢出的情況下,左移一位相當(dāng)于乘以2。運(yùn)算符說(shuō)明實(shí)例&轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)進(jìn)行與運(yùn)算1&1=1,1&0=0,0&1=0,0&0=0|轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)進(jìn)行或運(yùn)算1|1=1,1|0=1,0|1=1,0|0=0^轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)進(jìn)行異或運(yùn)算1^1=0,1^0=1,0^1=1,0^0=0~進(jìn)行數(shù)值的相反數(shù)減1運(yùn)算~50=-50-1=-51>>向右移位15>>1=7<<向左移位15<<1=30>>>向右移位15>>>1=7<<=左移賦值運(yùn)算符n<<3等價(jià)于n=n<<3>>=右移賦值運(yùn)算符n>>3等價(jià)于n=n>>3>>>=無(wú)符號(hào)右移賦值運(yùn)算符n>>>3等價(jià)于n=n>>>32.3.4運(yùn)算符的應(yīng)用6.條件運(yùn)算符條件運(yùn)算符是三元運(yùn)算符,其語(yǔ)法格式如下:<表達(dá)式>?a:b其中,表達(dá)式值的類(lèi)型為邏輯型。若表達(dá)式的值為true,則返回a的值;若表達(dá)式的值為false,則返回b的值。2.3.4運(yùn)算符的應(yīng)用7.自動(dòng)遞增、遞減運(yùn)算符與C、C++相同,Java語(yǔ)言也提供了自動(dòng)遞增與遞減運(yùn)算符,其作用是自動(dòng)將變量值加1或減1。說(shuō)明:自動(dòng)遞增、遞減運(yùn)算符的操作元只能為變量,不能為字面常數(shù)和表達(dá)式,且該變量類(lèi)型必須為整型、浮點(diǎn)型或Java包裝類(lèi)型。<%intn1=3;intn2=3;inta=2+(++n1); //先將變量n1加1,然后再執(zhí)行"2+4"intb=2+(n2++); //先執(zhí)行"2+3",然后再將變量n2加1System.out.println(a); //輸出結(jié)果為:6System.out.println(b); //輸出結(jié)果為:5System.out.println(n1); //輸出結(jié)果為:4System.out.println(n2); //輸出結(jié)果為:42.3.5流程控制語(yǔ)句1.分支語(yǔ)句所謂分支語(yǔ)句,就是對(duì)語(yǔ)句中不同條件的值進(jìn)行判斷,進(jìn)而根據(jù)不同的條件執(zhí)行不同的語(yǔ)句。在分支語(yǔ)句中主要有以下兩個(gè)語(yǔ)句:■If條件語(yǔ)句■switch多分支語(yǔ)句√√If…else語(yǔ)句if...else語(yǔ)句是條件語(yǔ)句最常用的一種形式,它針對(duì)某種條件有選擇地做出處理。通常表現(xiàn)為“如果滿(mǎn)足某種條件,就進(jìn)行某種處理,否則就進(jìn)行另一種處理”。其語(yǔ)法格式如下:if(條件表達(dá)式){ 語(yǔ)句序列1}else{ 語(yǔ)句序列2}If…else語(yǔ)句switch多分支語(yǔ)句switch語(yǔ)句是多分支選擇語(yǔ)句,常用來(lái)根據(jù)表達(dá)式的值選擇要執(zhí)行的語(yǔ)句?;菊Z(yǔ)法格式如下:switch(表達(dá)式){ case常量表達(dá)式1:語(yǔ)句序列1 [break;] case常量表達(dá)式2:語(yǔ)句序列2 [break;] …… case常量表達(dá)式n:語(yǔ)句序列n [break;] default:語(yǔ)句序列n+1 [break;]}If…else語(yǔ)句2.3.5流程控制語(yǔ)句2.循環(huán)語(yǔ)句所謂循環(huán)語(yǔ)句,主要就是在滿(mǎn)足條件的情況下反復(fù)執(zhí)行某一個(gè)操作。在Java中,提供了3種常用的循環(huán)語(yǔ)句,分別是:■for循環(huán)語(yǔ)句■while循環(huán)語(yǔ)句■do...while循環(huán)語(yǔ)句√√√for循環(huán)語(yǔ)句for循環(huán)語(yǔ)句也稱(chēng)為計(jì)次循環(huán)語(yǔ)句,一般用于循環(huán)次數(shù)已知的情況。for循環(huán)語(yǔ)句的基本語(yǔ)法格式如下:for(初始化語(yǔ)句;循環(huán)條件;迭代語(yǔ)句){ 語(yǔ)句序列}while循環(huán)語(yǔ)句while循環(huán)語(yǔ)句也稱(chēng)為前測(cè)試循環(huán)語(yǔ)句,它的循環(huán)重復(fù)執(zhí)行方式,是利用一個(gè)條件來(lái)控制是否要繼續(xù)重復(fù)執(zhí)行這個(gè)語(yǔ)句。while(條件表達(dá)式){ 語(yǔ)句序列}do...while循環(huán)語(yǔ)句do…while循環(huán)語(yǔ)句也稱(chēng)為后測(cè)試循環(huán)語(yǔ)句,它的循環(huán)重復(fù)執(zhí)行方式,也是利用一個(gè)條件來(lái)控制是否要繼續(xù)重復(fù)執(zhí)行這個(gè)語(yǔ)句。與while循環(huán)所不同的是,它先執(zhí)行一次循環(huán)語(yǔ)句,然后再去判斷是否繼續(xù)執(zhí)行。do...while循環(huán)語(yǔ)句的基本語(yǔ)法格式如下:do{ 語(yǔ)句序列}while(條件表達(dá)式);//注意!語(yǔ)句結(jié)尾處的分號(hào)";"一定不能少2.3.5流程控制語(yǔ)句3.跳轉(zhuǎn)語(yǔ)句■break跳轉(zhuǎn)語(yǔ)句

break語(yǔ)句用于強(qiáng)行退出循環(huán),也就是忽略循環(huán)體中任何其他語(yǔ)句和循環(huán)條件的限制。■continue跳轉(zhuǎn)語(yǔ)句

continue用于讓程序直接跳過(guò)其后面的語(yǔ)句,進(jìn)行下一次循環(huán)?!鰎eturn跳轉(zhuǎn)語(yǔ)句

return語(yǔ)句可以從一個(gè)方法返回,并把控制權(quán)交給調(diào)用它的語(yǔ)句。2.3.6字符串處理字符串由一連串字符組成,它可以包含字母、數(shù)字、特殊符號(hào)、空格或中文字,只要是鍵盤(pán)能輸入的文字都可以。它的表示方法是在文字兩邊加雙引號(hào)所有以雙引號(hào)包圍的字符串常數(shù),Java的編譯器都會(huì)將它編譯為String類(lèi)對(duì)象。2.3.6字符串處理(1)初始化一個(gè)新創(chuàng)建的String對(duì)象,它表示一個(gè)空字符序列。如:

String()(2)導(dǎo)入?yún)?shù)。如:

Stringname=newString("簡(jiǎn)單");(3)導(dǎo)入一個(gè)char[]數(shù)組。如:

String(char[]value);(4)導(dǎo)入一個(gè)char[]數(shù)組并決定元素值范圍。如:

String(char[]value,intoffset,intcount)(5)導(dǎo)入一個(gè)byte[]數(shù)組。如:

String(byte[]bytes)

//JAVA中一個(gè)英文字母是以1個(gè)byte表示,一個(gè)中文則以2個(gè)byte表示。(6)導(dǎo)入一個(gè)byte[]數(shù)組并決定元素值范圍。如:

String(byte[]bytes,intoffset,intlength)(7)導(dǎo)入一個(gè)StringBuffer對(duì)象。如:

String(StringBufferbuffer)1.字符串的聲明2.3.6字符串處理2.字符串類(lèi)的常用方法方法名稱(chēng)方法含義booleanendsWith(Stringsuffix)測(cè)試此字符串是否以指定的后綴結(jié)束booleanequals(ObjectanObject)比較此字符串與指定的對(duì)象booleanequalsIgnoreCase(StringanotherString)將此String與另一個(gè)String進(jìn)行比較,不考慮大小寫(xiě)intindexOf()返回指定字符串在另一個(gè)字符串中的索引位置intlastIndexOf()返回最后一次出現(xiàn)的指定字符在另一個(gè)字符串中的索引位置intlength()返回此字符串的長(zhǎng)度Stringreplace(charoldChar,charnewChar)返回一個(gè)新的字符串,它是通過(guò)用newChar替換此字符串中出現(xiàn)的所有oldChar而生成的booleanstartsWith(Stringprefix)測(cè)試指定字符串是否以指定的前綴開(kāi)始Stringsubstring()返回一個(gè)字符串的子串char[]toCharArray()將指定字符串轉(zhuǎn)換為一個(gè)新的字符數(shù)組StringtoLowerCase()將指定字符串中的所有字符都轉(zhuǎn)換為小寫(xiě)StringtoUpperCase()將指定字符串中的所有字符都轉(zhuǎn)換為大寫(xiě)Stringtrim()返回字符串的副本,忽略前導(dǎo)空白和尾部空白staticStringvalueOf(booleanb)返回指定參數(shù)的字符串表示形式2.3.7數(shù)組的創(chuàng)建與應(yīng)用數(shù)組是由多個(gè)元素組成的,每個(gè)單獨(dú)的數(shù)組元素,就相當(dāng)于一個(gè)變量,可用來(lái)保存數(shù)據(jù),因此可以將數(shù)組視為一連串變量的組合。根據(jù)數(shù)組存放元素的復(fù)雜程度,可將數(shù)組依次分為一維數(shù)組、二維數(shù)組及多維(三維以上)數(shù)組。2.3.7數(shù)組的創(chuàng)建與應(yīng)用當(dāng)按照上述格式聲明數(shù)組后,系統(tǒng)會(huì)分配一塊連續(xù)的內(nèi)存空間供該數(shù)組使用。對(duì)于一維數(shù)組的賦值,語(yǔ)法格式如下:1.一維數(shù)組Java中的數(shù)組必須先聲明,然后才能使用。聲明一維數(shù)組有以下兩種格式:數(shù)據(jù)類(lèi)型數(shù)組名[]=new數(shù)據(jù)類(lèi)型[個(gè)數(shù)];數(shù)據(jù)類(lèi)型[]數(shù)組名=new數(shù)據(jù)類(lèi)型[個(gè)數(shù)];數(shù)據(jù)類(lèi)型數(shù)組名[]={數(shù)值1,數(shù)值2,…,數(shù)值n};數(shù)據(jù)類(lèi)型[]數(shù)組名={數(shù)值1,數(shù)值2,…,數(shù)值n};2.3.7數(shù)組的創(chuàng)建與應(yīng)用2.二維數(shù)組在Java語(yǔ)言中,實(shí)際上并不存在稱(chēng)為“二維數(shù)組”的明確結(jié)構(gòu),而

溫馨提示

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

評(píng)論

0/150

提交評(píng)論