




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
JSP程序設計教程第2章JSP開發基礎第
2
章JSP開發基礎2.1HTML語言基礎2.2JavaScript腳本語言2.3Java語言基礎√√√2.1HTML語言基礎什么是HTML?HTML是超文本標記語言(HyperTextMarkupLanguage)的縮寫。HTML語言由一些標記,字母和文字組成,用于編寫瀏覽器能識別的網頁文件
。2.1.1HTML文件的結構
HTML文檔由<Html>標記開頭,由</Html>標記結尾。HTML文檔分為兩個部分:標題部分和正文部分。<Html><Head><Title>標題</Title>標題部分</Head><Body>
正文部分</Body></Html>2.1.2頭元素<meta>標簽(1)通常應用于文件的開頭部分,即<head></head>之間(2)包括頁面的一些基本描述語句(3)有兩類<meta>標簽,用不同的屬性劃分,name和http-equiv,都和屬性content一起使用頭元素(續)name屬性,在頁面中加入描述信息(關鍵字、描述等)Keywords,設置關鍵字Description,網頁描述Robots,設置搜索采取何種行動:index檢索、noindex不檢索、follow順著該頁超鏈接搜索、nofollow禁止向下搜索、all所有、none所有都不Generator,說明編輯該頁面的工具軟件名Author,說明網頁的作者Copyright,說明版權信息頭元素(續)http-equiv屬性,設置模擬的HTTP協議頭信息Content-Type,說明網頁的MIME類型和字符集編碼Refresh,自動刷新頁面的時間,單位秒,也可設置URL值,到時間跳轉到這個頁面上Expires,設定網頁到期時間,也就是緩存時間,一旦網頁過期,必須到服務器上重新調閱。Windows-Target,強制頁面在某個窗口顯示Pragma,禁止瀏覽器在本地計算機上緩存該頁面Enter,設置進入頁面的特殊顯示效果Exit,設置離開頁面的特殊效果Meta用例指定被搜索引擎作為索引的關鍵詞<metaname=”keywords”content=”word1,word2,……”>設置文檔的語言字符集(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”>頁面描述:<Metaname=”Description”content=”描述內容”>頁面生成:<Metaname=”Generator”content=”MicrosoftFrontpage4.0”>控制頁面緩存:<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>我的第一頁面</TITLE></HEAD><BODY>這里是內容</BODY></HTML>META關鍵詞設置meta標簽中最重要的就是:Keywords和description的設定。這兩個語句可以讓搜索引擎能準確的發現你,吸引更多的人訪問你的站點!寫keywords的禁忌是:1.不要用常見詞匯。例如www,homepage,net,web等。2.不要用形容詞,副詞。例如最好的,最大的等。3.不要用籠統的詞匯,要盡量精確。例如不用“摩托羅拉手機”,改用“V998”等(補充)關于提高搜索點擊率
1.為了增加關鍵詞的密度,將關鍵字隱藏在頁面里(將文字顏色定義成與背景顏色一樣)。
2.在圖象的alt注釋語句中加入關鍵字。
如:<IMGSRC="xxx.gif"Alt="keywords">
3.利用HTML的注釋語句,在頁面代碼里加入大量關鍵字。
用法:<!這里插入關鍵字>2.1.3正文標記<Body>
<Body>標記用于標記正文內容。<Body>對標記有多個屬性,用于定義頁面主體內容的顯示效果。語法格式:<Body[Bgcolor=#|Text=#|Link=#|VLink=#|ALink=#|Background=圖形文件名]>2.1.4HTML常用排版標記
1.標題字體<H></H>語法格式:<HiColor=#|Align=#>標題字體</Hi>(i=1,2,…6)2.字體標記<Font></Font>一般用于定義文檔中要顯示文字的字體、大小和顏色。語法格式:<FontFace="字體名稱"|Size=#|Color=#>文字</Font>3.段落標記<P>段落標記<P>用于指出一個新段落的開始,其后面的內容從新的一行開始,并與上段之間有一個空行。語法格式: <P>……</P>4.換行標記<Br>換行標記<Br>是單標記,其作用相當于“回車”鍵,<Br>后面的內容將另起一行。語法格式:
<Br>…5.插入水平線標記<Hr>標記<Hr>用于產生一條水平線,以分隔文檔的不同部分。<Hr>是單標記符。語法格式: <HrAlign=#|Size=#|Width=#|Noshade=#|Color=#>
6.塊級元素塊級元素包括<Div>和<Span>兩種標記。<Div>用于文檔分節,以便為文檔的不同部分應用不同的段落格式。2.1.4HTML常用排版標記2.1.5HTML文件的超鏈接標記
超鏈接是互聯網最重要的功能,整個互聯網就是由相互鏈接的網頁組成的。2.1.5HTML文件的超鏈接標記1.鏈接到本機的另一網頁語法格式:<AHref=“路徑\filename.html”>鏈接文字</A>
2.在同一網頁內的自身鏈接語法格式:(1)定義錨標記:<ANAME=“定義錨點的名字">顯示文字</A>(2)做對錨的鏈接:<AHref=“#已定義錨點的名字">鏈接顯示文字</A>2.1.5HTML文件的超鏈接標記3.鏈接到另外一個網站上的Web頁語法格式:<Ahref=“URL”>這里是某地方</A>其中:URL:統一資源定位。
4.電子郵件鏈接電子郵件鏈接的作用是,當單擊頁面上的鏈接時,自動打開默認的郵件發送程序發郵件。語法格式:<AHref="mailto:Email地址">鏈接文字</A>2.1.5HTML文件的超鏈接標記Target屬性的作用是將鏈接的文件在指定的窗口中打開,常用于框架結構中。Target屬性的使用方式一般有以下三種:可用于A標記、Base標記、Form標記<AHref="…"Target="Windows-Name"><BaseTarget="Windows-Name"><FormAction=“…”Target=“Windows-Name”>Windows-Name處可取值_blank在一個新的未命名的窗口載入文檔_self在相同的框架或窗口中載入目標文檔_parent把文檔載入父窗口或包含了超鏈接引用的框架的框架集_top把文檔載入包含該超鏈接的窗口,取代任何當前正在窗口中顯示的框架2.1.6圖像標記<Img>
語法格式:<ImgSrc=?Width=?Height=?Alt=?Border=?Align=?>2.1.7表格標記<table></table>1.定義表格標題的標記<caption>語法格式:<CaptionAlign=#>表格標題</Caption>2.定義表格行的標記<Tr>語法格式:<Tr>……</Tr>3.定義字段名的標記<Th>語法格式:<Th>……</Th>4.定義數據的標記<Td>語法格式:<Td>……</Td><tableAlign="center"border="1"><CaptionAlign="left">表格標題</Caption><tr><th>NO.1</th><th>NO.2</th></tr><tr><td>11</td><td>22</td></tr></table>2.1.8表單標記<form></form>
說明:
(1)<form>標簽用于創建HTML表單。(2)表單能夠包含input元素,比如文本字段、復選框、單選框、提交按鈕、menus、textarea、fieldset和label元素等。2.1.8表單標記<form></form><form>主要屬性說明:action:一個URL地址;指定form表單向何處發送數據。enctype:規定在發送表單數據之前,如何對表單數據進行編碼。method:指定表單以何種方式發送到指定的頁面。指定的值有:
get:from表單里所填的值,附加在action指定的URL后面,做為URL鏈接而傳遞。
post:from表單里所填的值,附加在HTMLHeaders上。GET與POST的區別:①數據的查詢:get方式,能在URL中一目了然的看到所要查詢的信息(條件)。post因為隱藏掉了這些信息,不方便進行檢驗查詢條件。②敏感數據的提交(安全性):get方式附加在URL上,會泄露掉敏感的消息。post方式,能隱藏掉敏感的信息。③大數據文本傳遞:get傳遞數據是通過將數據附加在URL上,各瀏覽器對URL也有個長度限制。IE:2048字符。Chrome大約是8182字符。post基本沒此限制。2.1.9表單中的控件<input>標記根據不同的type屬性值,輸入字段擁有很多種形式,type的取值如下:text文本區域password密碼區域,輸入的文本以'*'展示radio單選框Checkbox復選框reset重置當前<form>表單submit提交當前<form>表單button常用于啟動JavaScript程序file文件選擇標簽hidden隱藏區域image圖像形式的提交按鈕
2.1.9表單中的控件<select>標記屬性介紹:
size:默認展示的下拉列表尺寸。默認的為combox樣式;大于1時,就是listbox樣式。
multiple:多項選擇,按住Ctrl+左鍵進行多選。子項:
optgroup:選擇項的類別,不能被選中。
label屬性:類別展示的名稱
title屬性:鼠標移到選擇項上去,要展示的信息
option:可選的項目
vlaue屬性:選擇項具體的名稱
title屬性:鼠標移到選擇項上去,要展示的信息2.1.9表單中的控件<textarea>標記多行文本區域屬性:
rows:表示顯示的行數
cols:表示顯示的列數
readonly:是否只讀2.1.9表單中的控件ul、ol、li列表標記ul
:unorderedlist(無序列表)ol
:orderedlist
(有序列表))li
:listitem(列表項目),基于上面2個列表子項目。2.1.10框架結構在HTML中,框架(Frame)亦稱為“幀”,使用框架可以獲得在同一個窗口中開辟幾個子窗口以便同時顯示幾個不同頁面的效果。
框架集標記框架結構的所有內容都包含在對標記<FrameSet>和</FrameSet>之間。2.1.11CSS編程技術CSS概述CSS中文譯為層疊樣式表單,是一種用來裝飾HTML的標記的集合。HTML是一種標記語言,而CSS是對這種標記的一種重要擴展,可以進一步美化頁面,彌補HTML對網頁格式化功能的不足,比如段落間距、行距、字體大小、排版定位等。CSS樣式規則組成語法為: 選擇符{屬性:值}單一選擇符的復合樣式聲明應該用分號隔開:選擇符{屬性1:值1;屬性2:值2}加載CSS樣式的三種方式
1.在<Head>中引用在<Head>標記中加上<Style>標記即可。2.在<Body>中引用在<Body>中實現主要是指在標記中引用,只要將定義在<Style>標記中的值拿到對應的標記中就可以。3.文件外引用
這種方式可以將<Head>中定義的樣式另存為一個文件,樣式表文件的擴展名是.css。CSS作為一個外部文件引入的方式有兩種,一種是鏈接,另一種是導入。
<Html><Head><StyleType="Text/CSS"> H1{Font-Size:36px;Color:Blue} H2{Font-Size:60px;Color:Red}</Style></Head><Body> <H1>電子商務</H1> <H2>網站建設</H2></Body></Html><Html><Body><H1Style="Font-Size:36px;Color:Blue">電子商務</H1><PStyle="BackGround:Yellow;Font-Size:24px;Color:Red">網站建設</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>電子商務</H1><P>網站建設</P></Body></Html>CSS與標記對應的三種方式
HTML標記和CSS樣式表標記有三種方式:標記選擇符類選擇符 在style標記中定義一個“.類名”,然后再HTML標記中使用class=“類名”就可以引入樣式。ID選擇符定義ID選擇符時,在樣式名之前加“#名字”,引用的時候使用“ID=名字”<Html><Head><StyleType="Text/CSS">.T1{Font-Size:36px;Color:Blue}.T2{Font-Size:24px;Color:Red}</Style></Head><Body><DivClass="T1">電子商務</Div><SpanClass="T2">網站建設</Span></Body></Html><Html><Head><StyleType="Text/CSS"> #ABC{Font-Size:36px;Color:Blue}</Style></Head><Body><PID=ABC>電子商務</P></Body></Html>ROBOTS什么是ROBOTS.TXT
是一個純文本文件,通過在文件中聲明該網站中不想被robots訪問的部分,這樣,該網站的部分或全部內容就可以不被搜索引擎收錄了,或者指定搜索引擎只收錄指定的內容。當一個搜索機器人訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果找到,搜索機器人就會按照該文件中的內容來確定訪問的范圍,如果該文件不存在,那么搜索機器人就沿著鏈接抓取。ROBOTSrobots.txt必須放置在一個站點的根目錄下,而且文件名必須全部小寫。例如: 禁止所有搜索引擎訪問網站的任何部分:
User-agent:*
Disallow:/允許所有的robot訪問
User-agent:*
Disallow:或者也可以建一個空文件“/robots.txt”file
禁止所有搜索引擎訪問網站的幾個部分(下例中的cgi-bin、tmp目錄)
User-agent:*
Disallow:/cgi-bin/
Disallow:/tmp/ROBOTS 常見搜索引擎的ROBOT名: 名稱搜索引擎
Baiduspider
Scooter
ia_archiver
Googlebot
ROBOTS什么是ROBOTSMETA
Robots.txt文件主要是限制整個站點或者目錄的搜索引擎訪問情況,而RobotsMETA標簽則主要是針對一個個具體的頁面。和其他的META標簽一樣,專門用來告訴搜索引擎ROBOTS如何抓取該頁的內容。
ROBOTS注意的是
上述的robots.txt和RobotsMETA標簽限制搜索引擎機器人(ROBOTS)抓取站點內容的辦法只是一種規則,需要搜索引擎機器人的配合才行,并不是每個ROBOTS都遵守的。
目前絕大多數的搜索引擎機器人都遵守robots.txt的規則,而對于RobotsMETA標簽,目前支持的并不多,但是正在逐漸增加,如著名搜索引擎GOOGLE就完全支持MIME英文全稱是“MultipurposeInternetEmailExtension”多功能Internet郵件擴充服務作用:
服務器會借助MIME類型將它們發送的多媒體數據的類型告訴瀏覽器,讓瀏覽器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等。瀏覽器使用相應的插件讀取相關文件。MIME常見的MIME類型
超文本標記語言文本 .html,.htmltext/html
普通文本 .txttext/plain
RTF文本 .rtfapplication/rtf
GIF圖形 .gifimage/gif
JPEG圖形 .ipeg,.jpgimage/jpeg
au聲音文件 .auaudio/basic
MIDI音樂文件mid,.midiaudio/midi,audio/x-midi
RealAudio音樂文件.ra,.ramaudio/x-pn-realaudio
MPEG文件 .mpg,.mpegvideo/mpeg
AVI文件 .avivideo/x-msvideo
GZIP文件 .gzapplication/x-gzip
TAR文件 .tarapplication/x-tar
Internet中有一個專門組織IANA來確認標準的MIME類型,但Internet發展的太快,很多應用程序等不及IANA來確認他們使用的MIME類型為標準類型。因此他們使用在類別中以x-開頭的方法標識這個類別還沒有成為標準,例如:x-gzip,x-tar等。2.2JavaScript腳本語言2.2.1JavaScript腳本語言概述2.2.2在JSP中引入JavaScript2.2.3JavaScript的數據類型與運算符2.2.4JavaScript的流程控制語句2.2.5函數的定義和調用2.2.6事件2.2.7JavaScript常用對象的應用√√√√√√√2.2.1JavaScript腳本語言概述JavaScript是一種基于對象和事件驅動并具有安全性能的解釋型腳本語言可以用于編寫客戶端的腳本程序,由Web瀏覽器解釋執行,還可以編寫在服務器端執行的腳本程序,在服務器端處理用戶提交的信息并動態地向瀏覽器返回處理結果,在JSP中應用JavaScript編寫客戶端腳本程序。2.2.2在JSP中引入JavaScript1.在頁面中直接嵌入JavaScript
在Web頁面中,可以使用<script>...</script>標記對封裝腳本代碼,當瀏覽器讀取到<script>標記時,將解釋執行其中的腳本。例如:<scriptlanguage="javascript">…</script>2.鏈接外部JavaScript在JSP中引入JavaScript的另一種方法是采用鏈接外部JavaScript文件的形式。例如:<scriptlanguage="javascript"src="javascript.js"></script>
說明:在外部JS文件中,不需要將腳本代碼用<script>和</script>標記括起來。2.2.3JavaScript的數據類型與運算符
數據類型
變量
運算符√√√數據類型JavaStript有6種數據類型,如下表所示。類型含義說明示例int數值整型整數,可以為正數、負數或017,80,0float浮點型浮點數,可以使用實數的普通形式或科學計數法表示3.14159.27,6.16e4string字符串類型字符串,是用單引號或雙引號括起來的一個或多個字符'wgh',"平平淡淡才是真"boolean布爾型只有true或false兩個值true,falseobject對象類型null空類型沒有任何值undefined未定義類型指變量被創建,但未賦值時所具有的值變量變量是指程序中一個已經命名的存儲單元,主要作用就是為數據操作提供存放信息的容器。在JavaScript中,可以使用命令var聲明變量,語法格式如下:varvariable;在聲明變量的同時也可以對變量進行賦值:varvariable=11;由于JavaScript采用弱類型的形式,所以在聲明變量時,不需要指定變量的類型,而變量的類型將根據其變量賦值來確定。例如:varvarible=17; //數值型varstr="愛護地球"; //字符型變量但是變量命名必須遵循以下規則:(2)不能使用JavaScript中的關鍵字、函數名、對象名及自定義的方法名等。JavaScript的關鍵字如下表:(1)必須以字母或下劃線開頭,中間可以是數字、字母或下劃線,但是不能有空格或加號、減號等符號。abstractcontinuefinallyinstanceofprivatethisbooleandefaultfloatintpublicthrowbreakdoforinterfacereturntypeofbytedoublefunctionlongshorttruecaseelsegotonativestaticvarcatchextendsimplementsnewsupervoidcharfalseimportnullswitchwhileclassfinalinpackagesynchronizedwith運算符1、算術運算符算術運算符等同于數學運算,即在程序中進行加、減、乘、除等運算。2、關系運算符關系運算符的基本操作過程是:首先對操作數進行比較,這個操作數可以是數字也可以是字符串,然后返回一個布爾值true或false。3、邏輯運算符邏輯運算符返回一個布爾值,通常和比較運算符一起使用,常用于if、while和for語句中。運算符4、字符串運算符字符串運算符是用于兩個字符型數據之間的運算符,除了比較運算符外,還可以是+和+=運算符。5、賦值運算符最基本的賦值運算符是等于號“=”,用于對變量進行賦值。6、位操作運算符位操作運算符用于對數值的位進行操作,如向左或向右移位等。7、條件運算符條件運算符是JavaScript支持的一種特殊的3目運算符,同Java中的3目運算符類似操作數?結果1:結果22.2.4JavaScript的流程控制語句if條件判斷語句for循環語句while循環語句do…while循環語句switch語句√√√√√if條件判斷語句對變量或表達式進行判定并根據判定結果進行相應的處理,可以使用if語句。if語句的語法格式如下:if(條件表達式){ 語句序列1//條件滿足時執行}else{ 語句序列2//條件不滿足時執行}for循環語句
for語句是JavaScript語言中應用比較廣泛的條件語句。通常for語句使用一個變量作為計數器來執行循環的次數,這個變量就稱為循環變量。for語句的語法格式如下:for(循環變量賦初值;循環條件;循環變量增值){ 循環體}for語句可以使用break語句來中止循環語句的執行。break語句默認情況下是終止當前的循環語句。<scripttype="text/javascript">varstr="7";for(i=0;i<4;i++){ str="0"+str;}document.write(str);document.write("<br>");</script>while循環語句while循環語句是另一種基本的循環語句,其結構和for循環語句有些類似,但是while語句不包含循環變量的初始化及循環變量的步幅。其語法格式如下:while(條件表達式){ 循環體}使用while語句時,必須先聲明循環變量并且在循環體中指定循環變量的步幅,否則while語句將成為一個死循環。do…while循環語句do…while循環語句和while循環語句非常相似,所不同的是它是在循環底部檢測循環表達式,而不是像while循環語句那樣在循環頂部進行檢測。這就保證了循環體至少被執行一次。do…while語句的語法格式如下:do{ 循環體}while(條件表達式);switch語句switch是典型的多路分支語句,其作用與嵌套使用if語句基本相同,但switch語句比if語句更具有可讀性,而且switch語句允許在找不到一個匹配條件的情況下執行默認的一組語句。switch語句的語法格式如下:switch(expression){casejudgement1:statement1;break;casejudgement2:statement2;break;…default:defaultstatement;break;}2.2.5函數的定義和調用1.函數的定義在JavaScript中,定義函數最常的方法是通過function語句實現,其語法格式如下:functionfunctionName([parameter1,parameter2,…]){ statements [returnexpression]}2.函數的調用調用不帶參數的函數,則使用函數名加上括號即可調用的函數帶參數,則在括號中加上需要傳遞的參數若函數有返回值,可以使用賦值語句將函數值賦給一個變量在JavaScript中,函數名區分大小寫2.2.6事件概述1.事件事件(Event),當人與瀏覽器中Web頁面進行某些類型的交互時,事件就發生了。例如,在頁面載入完畢事件;當用戶單擊按鈕事件等。2.事件處理程序用于響應某個事件而執行的處理程序稱為事件處理程序,例如,當用戶單擊按鈕時,將觸發按鈕的事件處理程序onClick。事件處理程序有以下兩種分配方式。(1)在JavaScript中分配事件處理程序<imgsrc="images/download.GIF"id="img_download"><scriptlanguage="javascript">varimg=document.getElementById("img_download");img.onclick=function(){ alert("單擊了圖片");}</script>在頁面中加入這段代碼并運行,則當單擊圖片img_download時,將彈出“單擊了下載圖片”對話框。2.2.6事件注意:在JavaScript中分配事件處理程序時,事件處理程序名稱必須小寫,才能正確響應事件。2.2.6事件(2)在HTML中分配事件處理程序在HTML中分配事件處理程序,只需要在HTML標記中添加相應的事件處理程序的屬性,并在其中指定作為屬性值的代碼或是函數名稱即可。例如:<imgsrc="images/download.GIF"onClick="alert('單擊了圖片');">在頁面中加入上面的代碼,并運行,則當單擊圖片img_download時,將彈出“您單擊了圖片”對話框。2.2.6事件3.事件類型多數瀏覽器內部對象都擁有很多事件,下面的表中將給出常用的事件、事件處理程序及何時觸這些事件處理程序。事件事件處理程序何時觸發bluronblur元素或窗口本身失去焦點時觸發changeonchange選中<select>元素中的選項或其他表單元素失去焦點時,并且在其獲取焦點后內容發生過改變時觸發clickonclick單擊鼠標左鍵時觸發focusonfocus任何元素或窗口本身獲得焦點時觸發keydownonkeydown鍵盤鍵被按下時觸發,如果一直按著某鍵,則會不斷觸發;當返回false時,取消默認動作loadonload頁面完全載入后,在window對象上觸發;所有框架都載入后,在框架集上觸發;<img>標記指定的圖像完全載入后,在其上觸發;或<object>標記指定的對象完全載入后,在其上觸發selectonselect選中文本時觸發submitonsubmit單擊提交按鈕時,在<form>上觸發unloadonunload頁面完全卸載后,在window對象上觸發;或者所有框架都卸載后,在框架集上觸發2.2.7JavaScript常用對象的應用1.String對象
String對象是動態對象,需要創建對象實例后才能引用它的屬性和方法。
在創建一個String對象變量時,可以使用new運算符與來創建,也可以直接將字符串賦給變量。例如:strValue="hello"與strVal=newString("hello")是等價的String對象的常用屬性和方法如下表所示。2.2.7JavaScript常用對象的應用屬性/方法說明length用于返回String對象的長度split(separator,limit)用separator分隔符將字符串劃分成子串并將其存儲到數組中,如果指定了limit,則數組限定為limit給定的數,separator分隔符可以是多個字符或一個正則表達式,它不作為任何數組元素的一部分返回substr(start,length)返回字符串中從startIndex開始的length個字符的子字符串substring(from,to)返回以from開始、以to結束的子字符串replace(searchValue,replaceValue)將searchValue換成replaceValue并返回結果charAt(index)返回字符串對象中的指定索引號的字符組成的字符串,位置的有效值為0到字符串長度減1的數值;一個字符串的第一個字符的索引位置為0,第二個字符位于索引位置1,依次類推;當指定的索引位置超出有效范圍時,charAt方法返回一個空字符串toLowerCase()返回一個字符串,該字符串中的所有字母都被轉換為小寫字母toUpperCase()返回一個字符串,該字符串中的所有字母都被轉換為大寫字母2.Date對象Date對象是一個有關日期和時間的對象。它具有動態性,即必須使用new運算符創建一個實例。例如:mydate=newDate();Date對象沒有提供直接訪問的屬性,只具有獲取和設置日期和時間的方法。Date對象的方法如下表所示。2.2.7JavaScript常用對象的應用2.2.7JavaScript常用對象的應用獲取日期和時間的方法說明設置日期和時間的方法說明getFullYear()返回用4位數表示的年份setFullYear()設置年份,用4位數表示getMonth()返回月份(0~11)setMonth()設置月份(0~11)getDate()返回日數(1~31)setDate()設置日數(1~31)getDay()返回星期(0~6)setDay()設置星期(0~6)getHours()返回小時數(0~23)setHours()設置小時數(0~23)getMinutes()返回分鐘數(0~59)setMinutes()設置分鐘數(0~59)getSeconds()返回秒數(0~59)setSeconds()設置秒數(0~59)getTime()返回Date對象的內部毫秒表示setTime()使用毫秒形式設置Date對象2.2.7JavaScript常用對象的應用3.window對象window對象是瀏覽器(網頁)的文檔對象模型結構中最高級的對象,它處于對象層次的頂端提供了用于控制瀏覽器窗口的屬性和方法由于window對象使用十分頻繁,又是其他對象的父對象,所以在使用window對象的屬性和方法時,JavaScript允許省略window對象的名稱。window對象的常用屬性如下表所示。Window對象的常用屬性屬性描述frames表示當前窗口中所有frame對象的集合location用于代表窗口或框架的Location對象,如果將一個RUL賦予給該屬性,那瀏覽器將加載并顯示該URL指定的文檔length窗口或框架包含的框架個數history對窗口或框架的History對象的只讀引用name用于存放窗口的名字status一個可讀寫的字符,用于指定狀態欄中的當前信息parent表示包含當前窗口的父窗口opener表示打開當前窗口的父窗口closed一個只讀的布爾值,表示當前窗口是否關閉;當瀏覽器窗口關閉時,表示該窗口的window對象并不會消失,不過它的closed屬性被設置為trueWindow對象的常用方法方法描述alert()彈出一個警告對話框confirm()顯示一個確認對話框,單擊“確認”按鈕時返回true,否則返回falseprompt()彈出一個提示對話框,并要求輸入一個簡單的字符串close()關閉窗口focus()把鍵盤的焦點賦予給頂層瀏覽器窗口,在多數平臺上,這將使用窗口移到最前邊open()打開一個新窗口setTimeout(timer)在經過指定的時間后執行代碼clearTimeout()取消對指定代碼的延遲執行resizeBy(offsetx,offsety)按照指定的位移量設置窗口的大小print()相當于瀏覽器工具欄中的“打印”按鈕setInterval()周期執行指定的代碼clearInterval()停止周期性地執行代碼2.3Java語言基礎2.3.1面向對象程序設計2.3.2基本數據類型及基本數據類型間的轉換2.3.3常量與變量2.3.4運算符的應用2.3.5流程控制語句2.3.6字符串處理2.3.7數組的創建與應用2.3.8集合類的應用2.3.9異常處理語句√√√√√√√√√2.3.1面向對象程序設計
面向對象程序設計是軟件設計和實現的有效方法,這種方法可以提供軟件的可擴充性和可重用性??陀^世界中的一個事物就是一個對象,每個客觀事物都有自己的特征和行為。從程序設計的角度來看,事物的特性就是數據,行為就是方法。面向對象的程序設計方法就是將客觀事物抽象成為“類”,并通過類的“繼承”實現軟件的可擴充性和可重用性。2.3.1面向對象程序設計1.類的基本概念
類是用來創建對象的模板,它包含被創建的對象的狀態描述和方法的定義。要學習Java編程就必須學會怎樣去編寫類類把數據和對數據的操作封裝成一個整體。2.3.1面向對象程序設計在Java中定義類主要分為兩部分:類的聲明和類體。類體主要由兩部分構成:一部分是成員變量的定義另一部分是成員方法的定義。2.定義類[修飾符]class<類名>[extends父類名][implements接口列表]{定義成員變量 定義成員方法}用于指定類的訪問權限,可選值為public、abstract和final用于指定要定義的類繼承于哪個父類用于指定該類實現的是哪些接口2.3.1面向對象程序設計3.定義成員方法
Java中類的行為由類的成員方法來實現。類的成員方法由方法的聲明和方法體兩部分組成,其一般格式如下:[修飾符]<方法返回值的類型><方法名>([參數列表]){ [方法體]}修飾符:可選參數,用于指定方法的被訪問權限,可選值為public、protected和private。2.3.1面向對象程序設計【例】在Fruit類中聲明兩個成員方法grow()和harvest()publicclassFruit{//定義一個無返回值的成員方法 publicvoidgrow(){ System.out.println("果樹正在生長……"); }//定義一個返回值為String類型的成員方法 publicStringharvest(){ Stringrtn="水果已經收獲……";//定義一個局部變量 returnrtn; }}2.3.1面向對象程序設計4.成員變量與局部變量
(1)聲明成員變量在類體中變量定義部分所聲明的變量為類的成員變量。用成員變量用來表示類的屬性。聲明方法如下:[修飾符][static][final][transient][volatile]<變量類型><變量名>;用于指定變量的被訪問權限,public、protected和private用于指定該成員變量為靜態變量,可以直接通過類名訪問。如果省略該關鍵字,則表示該成員變量為實例變量。用final修飾,表示常量(2)聲明局部變量方法體中聲明的變量和方法的參數則稱為局部變量。定義局部變量時不能使用public、protected、private和static關鍵字對局部變量進行修飾,但可以使用final關鍵字。語法格式如下:[final]<變量類型><變量名>;2.3.1面向對象程序設計成員變量和局部變量的區別
有效范圍不同。成員變量在整個類內都有效,而局部變量只在定義它的成員方法內才有效。2.3.1面向對象程序設計5.構造方法的概念及用途概念:
構造方法是一種特殊的方法,它的名字必須與它所在類的名字完全相同,并且沒有返回值,也不需要使用關鍵字void進行標識。用途:
構造方法用于對對象中的所有成員變量進行初始化,在創建對象時立即被調用。注意:
如果用戶沒有定義構造方法,Java會自動提供一個默認的構造方法,用來實現成員變量的初始。2.3.1面向對象程序設計6.創建Java類對象(1)聲明對象對象是類的實例,屬于某個已經聲明的類。因此,在對對象進行聲明之前,一定要先定義該對象的類。Fruitfruit;//只是建立一個引用,并置初值為null,并不分配內存空間。
(2)為對象分配內存
為對象分配內存也稱為實例化對象。在Java中使用關鍵字new來實例化對象,例如:fruit=newFruit();Fruitfruit=newFruit();//將聲明與分配內存相結合2.3.1面向對象程序設計7.對象的使用通過使用運算符“.”實現對成員變量的訪問和成員方法的調用。例:2-32.3.1面向對象程序設計8.對象的銷毀Java提供的垃圾回收機制可以自動判斷對象是否還在使用,并能夠自動銷毀不再使用的對象,收回對象所占用的資源。不需要手動完成這項工作。Java提供了一個名為finalize()的析構方法,用于在對象被垃圾回收機制銷毀之前,由垃圾回收系統調用。但是垃圾回收系統的運行是不可預測的。在Java程序中,也可以使用析構方法finalize()隨時來銷毀一個對象。析構方法finalize()沒有任何參數和返回值,每個類有且只有一個析構方法。2.3.1面向對象程序設計9.包
包(package)是Java提供的一種區別類的名字空間的機制,是類的組織方式,是一組相關類和接口的集合,它提供了訪問權限和命名的管理機制。Java中提供的包主要有以下3種用途:①將功能相近的類放在同一個包中,方便查找與使用;②由于在不同包中可以存在同名類,所以使用包在一定程度上可以避免命名沖突;③在Java中,某些訪問權限是以包為單位的。2.3.1面向對象程序設計創建包可以通過在類或接口的源文件中使用package語句實現,package語句的語法格式如下:(1)創建包package包名;(2)使用包中的類
類可以訪問其所在包中的所有類,還可以使用其他包中的所有public類。訪問其他包中的public類可以有以下兩種方法。使用長名引用包中的類使用import語句引入包中的類com.wgh.Circcirc=newcom.wgh.Circ();importcom.wgh.Circ;2.3.2基本數據類型及基本數據類型間的轉換1.基本數據類型Java基本數據類型主要包括整數類型、浮點類型、字符類型和布爾類型。其中整數類型又分為字節型(byte)、短整型(short)、整型(int)和長整型(long),它們都用來定義一個整數,唯一的區別就是它們所定義的整數所占用內存的空間不同,因此整數的取值范圍也不同;Java中的浮點類型又包括單精度類型(float)和雙精度類型(double),在程序中使用這兩種類型來存儲小數。2.3.1面向對象程序設計各種基本數據類型的取值范圍、占用的內存大小及默認值數據類型關鍵字占用內存取值范圍默認值整數類型字節型byte8位128~1270短整型short16位32768~327670整型int32位2147483648~21474836470長整型long64位9223372036854775808~92233720368547758070浮點類型單精度型float32位1.4E-45~3.4028235E380.0f雙精度型double64位4.9E-324~1.7976931348623157E3080.0d字符型字符型char16位16位的Unicode字符,可容納各國的字符集;若以Unicode來看,就是'\u0000'到'\uufff';若以整數來看,范圍在0~65535,例如,65代表'A''\u0000'布爾型布爾型boolean8位true和falsefalse2.3.2基本數據類型及基本數據類型間的轉換
2.基本數據類型間的轉換
(1)自動類型轉換從低級類型向高級類型的轉換為自動類型轉換。(2)強制類型轉換如果把高級數據類型數據賦值給低級類型變量,就必須進行強制類型轉換,否則編譯出錯。(欲轉換成的數據類型)值2.3.3常量與變量1.變量變量是Java程序中的基本存儲單元,它的定義包括變量名、變量類型和作用域幾個部分。(1)變量名是一個合法的標識符,它是字母、數字、下劃線或美元符“$”的序列,Java對變量名區分大小寫,變量名不能以數字開頭,而且不能為關鍵字。(2)變量類型用于指定變量的數據類型,可以通過int、float、double和char等關鍵字來指定。(3)變量的有效范圍是指程序代碼能夠訪問該變量的區域,若超出該區域訪問變量,則編譯時會出現錯誤。根據有效范圍,變量分為:成員變量,局部變量。2.3.3常量與變量publicclassGame{ privateintmedal_All=800; //成員變量 publicvoidChina(){ intmedal_CN=100; //方法的局部變量 if(true){ //代碼塊 intgold=50; //代碼塊的局部變量 medal_CN+=50;//允許訪問medal_All-=150; //允許訪問 } gold=100; //編譯出錯 medal_CN+=100; //允許訪問 medal_All-=200; //允許訪問 } publicvoidOther(){ medal_All=800; //允許訪問 medal_CN=100;//編譯出錯,不能訪問其他方法中的局部變量 gold=10; //編譯出錯
}}2.3.3常量與變量2.常量在Java中寫下一個數值,這個數就稱為字面常數。它會存儲于內存中的某個位置,用戶將無法改變它的值。在Java中,也可以用final關鍵字來定義常量。2.3.4運算符的應用1.賦值運算符Java中的賦值運算符可以分為簡單賦值運算和復合賦值運算。
簡單賦值運算是將賦值運算符(=)右邊的表達式的值保存到賦值運算符左邊的變量中。
復合賦值運算是混合了其他操作(算術運算操作、位操作等)和賦值操作,如:sum+=i; //等同于sum=sum+i;2.3.4運算符的應用Java中的賦值運算符如下表所示。運算符說明運算符說明=簡單賦值&=進行與運算后賦值+=相加后賦值|=進行或運算后賦值=相減后賦值^=進行異或運算后賦值*=相乘后賦值<<=左移之后賦值/=相除后賦值>>=帶符號右移后賦值%=求余后賦值>>>=填充零右移后賦值2.3.4運算符的應用2.算術運算符算術運算符支持整型和浮點型數據的運算,當整型與浮點型數據進行算術運算時,會進行自動類型轉換,結果為浮點型。運算符說明舉例結果及類型+加法1.23f+10結果:11.23 類型:float
減法4.56-0.5f結果:4.06類型:double*乘法3*9L結果:27類型:long/除法9/4結果:2類型:int%求余數10%3結果:1類型:int2.3.4運算符的應用3.關系運算符通過關系運算符計算的結果是一個boolean類型值。其中等于和不等于運算符適用于引用類型和所有的基本數據類型,而其他的關系運算符只適用于除boolean類型外的所有基本數據類型。運算符說明舉例結果運算符說明舉例結果>大于'a'>'b'false<=小于或等于1.67f<=1.67ftrue<小于200>100true==等于1.0==1true>=大于或等于11.11>=10true!=不等于'天'!='天'false2.3.4運算符的應用4.邏輯運算符邏輯運算符經常用來連接關系表達式,對關系表達式的值進行邏輯運算,因此邏輯運算符的運算對象必須是邏輯型數據,其邏輯表達式的運行結果也是邏輯型數據。運算符意義運算結果&邏輯與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運算符的應用5.位運算符
位運算符用于對數值的位進行操作,參與運算的操作數只能是int或long類型。在不產生溢出的情況下,左移一位相當于乘以2。運算符說明實例&轉換為二進制數據進行與運算1&1=1,1&0=0,0&1=0,0&0=0|轉換為二進制數據進行或運算1|1=1,1|0=1,0|1=1,0|0=0^轉換為二進制數據進行異或運算1^1=0,1^0=1,0^1=1,0^0=0~進行數值的相反數減1運算~50=-50-1=-51>>向右移位15>>1=7<<向左移位15<<1=30>>>向右移位15>>>1=7<<=左移賦值運算符n<<3等價于n=n<<3>>=右移賦值運算符n>>3等價于n=n>>3>>>=無符號右移賦值運算符n>>>3等價于n=n>>>32.3.4運算符的應用6.條件運算符條件運算符是三元運算符,其語法格式如下:<表達式>?a:b其中,表達式值的類型為邏輯型。若表達式的值為true,則返回a的值;若表達式的值為false,則返回b的值。2.3.4運算符的應用7.自動遞增、遞減運算符與C、C++相同,Java語言也提供了自動遞增與遞減運算符,其作用是自動將變量值加1或減1。說明:自動遞增、遞減運算符的操作元只能為變量,不能為字面常數和表達式,且該變量類型必須為整型、浮點型或Java包裝類型。<%intn1=3;intn2=3;inta=2+(++n1); //先將變量n1加1,然后再執行"2+4"intb=2+(n2++); //先執行"2+3",然后再將變量n2加1System.out.println(a); //輸出結果為:6System.out.println(b); //輸出結果為:5System.out.println(n1); //輸出結果為:4System.out.println(n2); //輸出結果為:42.3.5流程控制語句1.分支語句所謂分支語句,就是對語句中不同條件的值進行判斷,進而根據不同的條件執行不同的語句。在分支語句中主要有以下兩個語句:■If條件語句■switch多分支語句√√If…else語句if...else語句是條件語句最常用的一種形式,它針對某種條件有選擇地做出處理。通常表現為“如果滿足某種條件,就進行某種處理,否則就進行另一種處理”。其語法格式如下:if(條件表達式){ 語句序列1}else{ 語句序列2}If…else語句switch多分支語句switch語句是多分支選擇語句,常用來根據表達式的值選擇要執行的語句?;菊Z法格式如下:switch(表達式){ case常量表達式1:語句序列1 [break;] case常量表達式2:語句序列2 [break;] …… case常量表達式n:語句序列n [break;] default:語句序列n+1 [break;]}If…else語句2.3.5流程控制語句2.循環語句所謂循環語句,主要就是在滿足條件的情況下反復執行某一個操作。在Java中,提供了3種常用的循環語句,分別是:■for循環語句■while循環語句■do...while循環語句√√√for循環語句for循環語句也稱為計次循環語句,一般用于循環次數已知的情況。for循環語句的基本語法格式如下:for(初始化語句;循環條件;迭代語句){ 語句序列}while循環語句while循環語句也稱為前測試循環語句,它的循環重復執行方式,是利用一個條件來控制是否要繼續重復執行這個語句。while(條件表達式){ 語句序列}do...while循環語句do…while循環語句也稱為后測試循環語句,它的循環重復執行方式,也是利用一個條件來控制是否要繼續重復執行這個語句。與while循環所不同的是,它先執行一次循環語句,然后再去判斷是否繼續執行。do...while循環語句的基本語法格式如下:do{ 語句序列}while(條件表達式);//注意!語句結尾處的分號";"一定不能少2.3.5流程控制語句3.跳轉語句■break跳轉語句
break語句用于強行退出循環,也就是忽略循環體中任何其他語句和循環條件的限制?!鯿ontinue跳轉語句
continue用于讓程序直接跳過其后面的語句,進行下一次循環?!鰎eturn跳轉語句
return語句可以從一個方法返回,并把控制權交給調用它的語句。2.3.6字符串處理字符串由一連串字符組成,它可以包含字母、數字、特殊符號、空格或中文字,只要是鍵盤能輸入的文字都可以。它的表示方法是在文字兩邊加雙引號所有以雙引號包圍的字符串常數,Java的編譯器都會將它編譯為String類對象。2.3.6字符串處理(1)初始化一個新創建的String對象,它表示一個空字符序列。如:
String()(2)導入參數。如:
Stringname=newString("簡單");(3)導入一個char[]數組。如:
String(char[]value);(4)導入一個char[]數組并決定元素值范圍。如:
String(char[]value,intoffset,intcount)(5)導入一個byte[]數組。如:
String(byte[]bytes)
//JAVA中一個英文字母是以1個byte表示,一個中文則以2個byte表示。(6)導入一個byte[]數組并決定元素值范圍。如:
String(byte[]bytes,intoffset,intlength)(7)導入一個StringBuffer對象。如:
String(StringBufferbuffer)1.字符串的聲明2.3.6字符串處理2.字符串類的常用方法方法名稱方法含義booleanendsWith(Stringsuffix)測試此字符串是否以指定的后綴結束booleanequals(ObjectanObject)比較此字符串與指定的對象booleanequalsIgnoreCase(StringanotherString)將此String與另一個String進行比較,不考慮大小寫intindexOf()返回指定字符串在另一個字符串中的索引位置intlastIndexOf()返回最后一次出現的指定字符在另一個字符串中的索引位置intlength()返回此字符串的長度Stringreplace(charoldChar,charnewChar)返回一個新的字符串,它是通過用newChar替換此字符串中出現的所有oldChar而生成的booleanstartsWith(Stringprefix)測試指定字符串是否以指定的前綴開始Stringsubstring()返回一個字符串的子串char[]toCharArray()將指定字符串轉換為一個新的字符數組StringtoLowerCase()將指定字符串中的所有字符都轉換為小寫StringtoUpperCase()將指定字符串中的所有字符都轉換為大寫Stringtrim()返回字符串的副本,忽略前導空白和尾部空白staticStringvalueOf(booleanb)返回指定參數的字符串表示形式2.3.7數組的創建與應用數組是由多個元素組成的,每個單獨的數組元素,就相當于一個變量,可用來保存數據,因此可以將數組視為一連串變量的組合。根據數組存放元素的復雜程度,可將數組依次分為一維數組、二維數組及多維(三維以上)數組。2.3.7數組的創建與應用當按照上述格式聲明數組后,系統會分配一塊連續的內存空間供該數組使用。對于一維數組的賦值,語法格式如下:1.一維數組Java中的數組必須先聲明,然后才能使用。聲明一維數組有以下兩種格式:數據類型數組名[]=new數據類型[個數];數據類型[]數組名=new數據類型[個數];數據類型數組名[]={數值1,數值2,…,數值n};數據類型[]數組名={數值1,數值2,…,數值n};2.3.7數組的創建與應用2.二維數組在Java語言中,實際上并不存在稱為“二維數組”的明確結構,而
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 雄安地下高鐵站綜合交通樞紐框架結構節點抗震性能研究
- 基于OBE理念的高中化學項目式學習設計與實踐研究-以“氯及其化合物”為例
- 帶水平隔板波形鋼腹板箱梁擬平截面假定適用性研究
- 委托合同培訓
- 小兒肺炎診療規范(人衛八版兒科)
- 職業健康宣貫部署會議
- 健康評估肺臟叩診
- 補鉀護理操作流程
- 小朋友回家安全專題課件
- 乙肝產婦術后護理查房
- 2025年廣州市中考物理試題(含答案)
- 2024年漳州市常山開發區招聘筆試真題
- 2024年09月年中國農業發展銀行江蘇省分行秋季校園招聘(86人)筆試歷年參考題庫附帶答案詳解
- 2025年江蘇省揚州市中考作文4篇范文:“尊重”“誠實”“創造性”“美好生活”
- 2025年輔警招聘考試試題庫含完整答案
- 2025年吉林省中考語文試卷及答案
- 2024-2025學年度天津鐵道職業技術學院單招《語文》真題附答案詳解(突破訓練)
- 快遞行業市場發展分析及投資前景研究報告2025-2028版
- 禮儀培訓ptt課件
- 2025年國情與形勢政策教育綱要
- 《基本樂理》師范與學前教育專業基本樂理相關知識全套教學課件
評論
0/150
提交評論