版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、3.1 Java主類結(jié)構(gòu)Java語(yǔ)言是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,Java程序的基本組成單元就是類,類體中又可包括屬性與 方法兩部分,而每一個(gè)應(yīng)用程序都必須包含一個(gè)main()方法,含 有main()方法的類稱之為主類。下面通過(guò)程序來(lái)介紹Java主類結(jié)構(gòu)。例3.1在Eclipse下依次創(chuàng)建項(xiàng)目item,創(chuàng)建包Number,創(chuàng)建類Frist。在類體中輸入如下代碼, 實(shí)現(xiàn)在控制臺(tái)上輸出“你好Java”。程序運(yùn)行結(jié)果如圖3.1所示。3.1.1包聲明一個(gè)Java應(yīng)用程序是由若干個(gè)類組成的。在例3.1中就是一個(gè) 類名為Frist的類,語(yǔ)句package Number為聲明該類所在的包,package為包的關(guān)
2、鍵字。3.1.2聲明成員變量和局部變量通常將類的屬性稱之為類的全局變量(成員變量),將方法中的屬性稱之為局部變量。全局變量 聲明在類體中,局部變量聲明在方法體中。全局變量和局部變量都有各自的應(yīng)用范圍。在例3.1中s1 是成員變量,s2是局部變量。3.1.3編寫主方法main()方法是類體中的主方法。該方法從“ ”開始,至“”結(jié)束。 public、static、void分別 是main方法的權(quán)限修飾符、靜態(tài)修飾符、返回值修飾符,Java程序中的main()方法必須聲明為public staticvoid。String args是一個(gè)字符串類型的數(shù)組,它是main()方法的參數(shù)。main()方法是
3、程序開始執(zhí)行的位置。3.1.4導(dǎo)入API類庫(kù)在Java語(yǔ)言中可以通過(guò)import關(guān)鍵字導(dǎo)入相關(guān)的類。在JDK的API中(應(yīng)用程序接口)提供了 130多個(gè)包,如java.awt、java.io等。可以通過(guò)JDK的API文檔來(lái)査看這些類。在API文檔中主要包 括類的繼承結(jié)構(gòu)、類的應(yīng)用、成員變量表、構(gòu)造方法表等,并對(duì)每個(gè)變量使用目的作了詳細(xì)的描述, API文檔為程序開發(fā)人員不可或缺的工具。注意:Java語(yǔ)言是嚴(yán)格區(qū)分大小寫的.例如,不能將關(guān)鍵字class等同于Class.3.2基本數(shù)據(jù)類型在Java中有8種基本數(shù)據(jù)類型來(lái)存儲(chǔ)數(shù)值、字符和布爾值,如圖3.2所示。3.2.1整數(shù)類型整數(shù)類型用來(lái)存儲(chǔ)整數(shù)數(shù)
4、值,即沒(méi)有小數(shù)部分的數(shù)值??梢允钦龜?shù),也可以是負(fù)數(shù)。整型常量在 Java程序中有3種表示形式,分別為十進(jìn)制、八進(jìn)制和十六進(jìn)制。1十進(jìn)制。十進(jìn)制的表現(xiàn)形式大家都很熟悉,如120、0、-127。注意:不能以0作為十進(jìn)制數(shù)的開頭(0除外).2八進(jìn)制。如0123 (轉(zhuǎn)換成十進(jìn)制數(shù)為83)、-0123 (轉(zhuǎn)換成十進(jìn)制數(shù)為-83) .注意:八進(jìn)制必須以0開頭.3十六進(jìn)制。如:0x25 (轉(zhuǎn)換成十進(jìn)制數(shù)為37)、0Xb0le (轉(zhuǎn)換成十進(jìn)制數(shù)為45086)。注意:十六進(jìn)制必須以0X或0x開頭.整型變量根據(jù)它在內(nèi)存中所占大小的不同,可分為byte、short、int和long 4種類型。它們具有不同的取值范圍
5、,如表3.1所示。下面以int型變量為例講解整型變量的定義, 例3.2定義int型變量,實(shí)例代碼如下,在定義以上4種類型變量時(shí),要注意變量能夠接受的最大與最小值,否則會(huì)出現(xiàn)錯(cuò)誤。對(duì)于long 型值,若賦給的值大于int型的最大值或小于int型的最小值,則需要在數(shù)字后加L或l,表示該數(shù)值為 長(zhǎng)整數(shù)。例如 long num = L。例3.3在項(xiàng)目中創(chuàng)建類Number,在主方法中創(chuàng)建不同數(shù)值型變量,并將這些變量相加,將和 輸出。程序運(yùn)行結(jié)果如圖3.3所示。3.2.2浮點(diǎn)類型浮點(diǎn)類型表示有小數(shù)部分的數(shù)字。Java語(yǔ)言中浮點(diǎn)類型分為單精度浮點(diǎn)類型(float)和雙精度浮點(diǎn)類型(double).它們具有不
6、同的取值范圍,如表3.2所示。在默認(rèn)情況下小數(shù)都被看作double型,若想使用float型小數(shù),則需要在小數(shù)后面添加F或f。可以使用后綴d或D來(lái)明確表明這是一個(gè)double類型數(shù)據(jù)。但加不加“d”沒(méi)有硬性規(guī)定,可以加也可以不加。而聲明float型變量時(shí)如果不加“f”,系統(tǒng)會(huì)認(rèn)為是double類型而出錯(cuò)。下面舉例介紹聲明浮點(diǎn)類型變量.例3.4定義浮點(diǎn)類型變量,實(shí)例代碼如下。3.2.3字符類型1. char型字符類型(char)用于存儲(chǔ)單個(gè)字符,占用16位(兩個(gè)字節(jié))的內(nèi)存空間。在定義字符型變量時(shí), 要以單引號(hào)表示,例如s表示一個(gè)字符。而“s”則表示一個(gè)字符串,雖然其只有一個(gè)字符,但由于使用雙引號(hào)
7、,所以它仍然表示字符串,而不是字符。使用char關(guān)鍵字可定義字符變量,下面舉例說(shuō)明。例3.5聲明字符型變量,實(shí)例代碼如下。由于字符a在Unicode表中的排序位置是97,因此允許將上面的語(yǔ)句寫成:同C、C+語(yǔ)言一樣,Java語(yǔ)言也可以把字符作為整數(shù)對(duì)待。由于Unicode編碼采用無(wú)符號(hào)編碼, 可以存儲(chǔ)65536個(gè)字符(0x00000xffff),所以Java中的字符幾乎可以處理所有國(guó)家的語(yǔ)言文字。若想得到一個(gè)065536之間的數(shù)所代表的Unicode表中相應(yīng)位置上的字符,也必須使用char型顯式轉(zhuǎn)換。例3.6在項(xiàng)目中創(chuàng)建類Gess,編寫如下代碼,實(shí)現(xiàn)將Unicode表中某些位置上的字符以及一些
8、字符在Unicode表中的位置在控制臺(tái)上輸出。 運(yùn)行結(jié)果如圖3.4所示。2.轉(zhuǎn)義字符轉(zhuǎn)義字符是一種特殊的字符變量。轉(zhuǎn)義字符以反斜線”開頭,后跟一個(gè)或多個(gè)字符。轉(zhuǎn)義字符 具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”。例如,printf函數(shù)的格式串中用到的“n” 就是一個(gè)轉(zhuǎn)義字符,意思是“回車換行”。Java中轉(zhuǎn)義字符如表3.3所示。將轉(zhuǎn)義字符賦值給字符變量時(shí),與字符常量值一樣需要使用單引號(hào)。 例3.7使用轉(zhuǎn)義字符,實(shí)例代碼如下。 3.2.4布爾類型布爾類型又稱邏輯類型,只有兩個(gè)值true和false,分別代表布爾邏輯中的“真”和“假”布爾 值不能與整數(shù)類型進(jìn)行轉(zhuǎn)換。布爾類型通常被用在流程控
9、制中作為判斷條件。通過(guò)關(guān)鍵字boolean定義布爾類型變量。例3.8聲明boolean型變量,實(shí)例代碼如下。+3.3變量與常量在程序執(zhí)行過(guò)程中,其值不能改變的量稱為常量,其值能被改變的量稱為變量。變量與常量的命 名都必須使用合法的標(biāo)識(shí)符。3.3.1標(biāo)識(shí)符和關(guān)鍵字 1.標(biāo)識(shí)符標(biāo)識(shí)符可以簡(jiǎn)單地理解為一個(gè)名字,用來(lái)標(biāo)識(shí)類名、變量名、方法名、數(shù)組名、文件名的有效字符序列。Java語(yǔ)言規(guī)定標(biāo)識(shí)符由任意順序的字母、下劃線(_)、美元符號(hào)($)和數(shù)字組成,并且第一個(gè)字符不能是數(shù)字。標(biāo)識(shí)符不能是Java中的保留關(guān)鍵字。下面是合法標(biāo)識(shí)符:下面是非法標(biāo)識(shí)符:在Java語(yǔ)言中標(biāo)識(shí)符中的字母是嚴(yán)格區(qū)分大小寫的,如go
10、od和Good是不同的兩個(gè)標(biāo)識(shí)符。Java 語(yǔ)言使用Unicode標(biāo)準(zhǔn)字符集,最多可以標(biāo)識(shí)65535個(gè)字符,因此,Java語(yǔ)言中的字母不僅包括通常 的拉丁文字a、b、c等,還包括漢字,日文以及其他許多語(yǔ)言中的文字。 2.關(guān)鍵字關(guān)鍵字是Java語(yǔ)言中已經(jīng)被賦予特定意義的一些單詞,不可以把這些字作為標(biāo)識(shí)符來(lái)使用。3.2 節(jié)介紹的數(shù)據(jù)類型中提到的int、boolean等都是關(guān)鍵字。Java中的關(guān)鍵字如表3.4所示。 3.3.2聲明變量變量的使用是程序設(shè)計(jì)中一個(gè)十分重要的環(huán)節(jié)。為什么要定義變量呢?簡(jiǎn)單地說(shuō),就是要告訴編 譯器(compiler)這個(gè)變量是屬于哪一種數(shù)據(jù)類型,這樣編譯器才知道需要配置多少
11、空間給它,以及它能存放什么樣的數(shù)據(jù)。在程序運(yùn)行過(guò)程中,空間內(nèi)的值是變化的,這個(gè)內(nèi)存空間就稱為變量。為了便于操作,給這個(gè)空間取個(gè)名字,稱為變量名。變量的命名必須是合法的標(biāo)識(shí)符。內(nèi)存空間內(nèi)的值就是 變量值。在聲明變量時(shí)可以是沒(méi)有賦值,也可以是直接賦給初值。例3.9聲明變量,實(shí)例代碼如下。編寫以上程序代碼,究竟會(huì)產(chǎn)生什么樣的作用呢?要了解這個(gè)問(wèn)題,就需要對(duì)變量的內(nèi)存配置有一定的認(rèn)識(shí)。 筆者用圖解的方式,將上例程序代碼在內(nèi)存中的狀況表現(xiàn)出來(lái),如圖3.5所示。由圖3.5可知,系統(tǒng)的內(nèi)存可大略分為3個(gè)區(qū)域,即系統(tǒng)區(qū)(OS)、程序區(qū)(Program)、數(shù)據(jù)區(qū)(Data) 。當(dāng)程序執(zhí)行時(shí),程序代碼會(huì)加載到內(nèi)存
12、中的程序區(qū),數(shù)據(jù)暫時(shí)存儲(chǔ)在數(shù)據(jù)區(qū)中。假設(shè)上述兩個(gè)變量定義在方法體中,則程序加載到程序區(qū)中。當(dāng)執(zhí)行此行程序代碼時(shí),會(huì)在數(shù)據(jù)區(qū)配置空間給這兩個(gè)變量。對(duì)于變量的命名并不是任意的,應(yīng)遵循以下幾條規(guī)則。變量名必須是一個(gè)有效的標(biāo)識(shí)符。變量名不可以使用Java中的關(guān)鍵字。變量名不能重復(fù)。應(yīng)選擇有意義的單詞作為變量名。說(shuō)明:在Java語(yǔ)言中允許使用漢字或其他語(yǔ)言文字作為變量名,如“int年齡21”,在程序運(yùn)行時(shí)并不出現(xiàn)什么錯(cuò)誤,但建議讀者盡量不要使用這些語(yǔ)言文字作為變量名.3.3.3聲明常量在程序運(yùn)行過(guò)程中一直不會(huì)改變的量稱為常量(constant),通常也被稱為“final變量”。常量在整個(gè)程序中只能被賦值
13、一次。在為所有對(duì)象共享的值時(shí),常量是非常有用的。在Java語(yǔ)言中聲明一個(gè)常量,除了要指定數(shù)據(jù)類型外,還需要通過(guò)final關(guān)鍵字進(jìn)行限定。聲明常量的標(biāo)準(zhǔn)語(yǔ)法為:常量名通常使用大寫字母,但這并不是必須的,很多Java程序員使用大寫字母表示常量,常常是為了清楚地表明正在使用常量。例3.10聲明常量,實(shí)例代碼如下。當(dāng)定義的final變量屬于“成員變量”,則必須在定義時(shí)就設(shè)定它的初值,否則將會(huì)有編譯錯(cuò)誤。 從下面的實(shí)例中可看出變量與常量的區(qū)別。例3.11在項(xiàng)目中創(chuàng)建類Part,在類體中創(chuàng)建變量age與常量PI在主方法中分別將變量與常量賦值,通過(guò)輸出信息可測(cè)試變量與常量的有效范圍。運(yùn)行結(jié)果如圖3.6所示。
14、3.3.4變量的有效范圍由于變量被定義出來(lái)后,只是暫存在內(nèi)存中,等到程序執(zhí)行到某一個(gè)點(diǎn)后,該變量會(huì)被釋放掉,也就是說(shuō)變量有它的生命周期。因此變量的有效范圍是指程序代 碼能夠訪問(wèn)該變量的區(qū)域,若超出該區(qū)域訪問(wèn)變量則編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤。在程序中,一般會(huì)根據(jù)變量 的“有效范圍”將變量分為“成員變量”和“局部變量”。1.成員變量在類體中所定義的變量被稱為成員變量。成員變量在整個(gè)類中都有效。類的成員變量又可分為兩種:靜態(tài)變量和實(shí)例變量。例3.12聲明靜態(tài)變量和實(shí)例變量,實(shí)例代碼如下。其中,x是實(shí)例變量,y為靜態(tài)變量(也稱類變量)。如果成員變量的類型前面加上關(guān)鍵字Static, 這樣的成員變量稱為靜態(tài)變量。靜態(tài)變量的有效范圍可以跨類,甚至可達(dá)到整個(gè)應(yīng)用程序之內(nèi)。對(duì)于靜態(tài)變量,除了能在定義它的類內(nèi)存取,還能直接以“類名.靜態(tài)變量”的方式在其他的類內(nèi)使用。2.局部變量在類的方法體中定義的變量(方法內(nèi)部定義,“”與“”之間的代碼中聲明的變量)稱之為局部變量。局部變量只在當(dāng)前代碼塊中有效。在類的方法中聲明的變量,包括方法的參數(shù),都屬于局部變量。局部變量只有在當(dāng)前
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城鄉(xiāng)廚余垃圾資源化利用項(xiàng)目節(jié)能評(píng)估報(bào)告
- 地下管網(wǎng)信息化巡檢方案
- 第13講 祝福(寒假預(yù)習(xí)講義)【含答案詳解】
- 城區(qū)供排水一體化及管網(wǎng)更新改造項(xiàng)目風(fēng)險(xiǎn)評(píng)估報(bào)告
- 光伏電池片生產(chǎn)工藝改進(jìn)
- 光伏系統(tǒng)不間斷供電方案
- 鋼結(jié)構(gòu)橋梁設(shè)計(jì)與施工方案
- 小學(xué)體育籃球課堂中游戲教學(xué)法的實(shí)證研究
- 婦幼健康服務(wù)體系建設(shè)的策略及實(shí)施路徑
- 工地混凝土試塊養(yǎng)護(hù)管理方案
- 熱源廠鍋爐設(shè)備更新改造項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)備案
- 2024-2025學(xué)年湖南省懷化市高二上學(xué)期期末質(zhì)量檢測(cè)英語(yǔ)試卷
- 北京市通州區(qū)事業(yè)單位公開招聘工作人員172人筆試高頻重點(diǎn)提升(共500題)附帶答案詳解
- 早教師培訓(xùn)課件-04第二章早期教育基礎(chǔ)知識(shí)第二節(jié)早教的方法與內(nèi)容
- 前置胎盤護(hù)理查房課件
- 企業(yè)競(jìng)爭(zhēng)圖譜:2024年運(yùn)動(dòng)戶外
- 肺癌中西醫(yī)結(jié)合診療指南
- 高壓氣瓶固定支耳加工工藝設(shè)計(jì)
- 寵物服裝采購(gòu)合同
- 攜程推廣模式方案
- JGT138-2010 建筑玻璃點(diǎn)支承裝置
評(píng)論
0/150
提交評(píng)論