第2章Java語言入門必備_第1頁
第2章Java語言入門必備_第2頁
第2章Java語言入門必備_第3頁
第2章Java語言入門必備_第4頁
第2章Java語言入門必備_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、主講人:n標(biāo)識符和關(guān)鍵字標(biāo)識符和關(guān)鍵字 n常量和變量常量和變量 n基本數(shù)據(jù)類型基本數(shù)據(jù)類型 n運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式 n控制語句控制語句 n注釋語句注釋語句n數(shù)組數(shù)組 n本章小結(jié)本章小結(jié)7.1 圖形用戶界面的概述2.1.1 標(biāo)識符標(biāo)識符 標(biāo)識符是用來標(biāo)識符是用來標(biāo)識標(biāo)識類名、變量名、方法名、數(shù)組名、文件名的有效字符序列。類名、變量名、方法名、數(shù)組名、文件名的有效字符序列。也就是說,也就是說,標(biāo)識符就是一個名字標(biāo)識符就是一個名字。 標(biāo)識符以一個字母、下劃線(標(biāo)識符以一個字母、下劃線(_)或美元符號()或美元符號($)開始)開始, 隨后也可跟數(shù)字、字隨后也可跟數(shù)字、字母、下劃線或美元符號。標(biāo)

2、識符區(qū)分大小寫,沒有長度限制,可以為標(biāo)識符取母、下劃線或美元符號。標(biāo)識符區(qū)分大小寫,沒有長度限制,可以為標(biāo)識符取任意長度的名字。任意長度的名字。下面是幾個有效的標(biāo)識符:下面是幾個有效的標(biāo)識符:birthday age_system_varl $max 下面是幾個非法的標(biāo)識符:下面是幾個非法的標(biāo)識符:3max (變量名不能以數(shù)字開頭)(變量名不能以數(shù)字開頭)room# (包含非法字符(包含非法字符“#”)class (“class”為保留字)為保留字) 注意:注意:Java較高版本已經(jīng)支持用漢字作為標(biāo)識符或標(biāo)識符的一部分。較高版本已經(jīng)支持用漢字作為標(biāo)識符或標(biāo)識符的一部分。2.1.2 關(guān)鍵字關(guān)鍵字

3、Java中一些賦以中一些賦以特定的含義特定的含義、并用做專門用途的單詞稱為關(guān)鍵字、并用做專門用途的單詞稱為關(guān)鍵字.主要用于標(biāo)識數(shù)主要用于標(biāo)識數(shù)據(jù)類型名或程序構(gòu)造(據(jù)類型名或程序構(gòu)造(construct)名。)名。Java的關(guān)鍵字有:的關(guān)鍵字有:(1)類型()類型(Class Type) package, class, abstract, interface, implements, native, this, super, extends, new, import, instanceof, public, private, protected, (2)數(shù)據(jù)類型()數(shù)據(jù)類型(data type)

4、 char, double, enum, float, int, long, short, boolean, void, byte(3)控制類型()控制類型(Control Type) break, case, continue, default, do, else, for, goto, if, return, switch, while, throw,throws, try, catch, synchronized, final, finally, transient, strictfp (4)存儲類型()存儲類型(Storage Type) register, static(5)其它類型

5、()其它類型(Other Type) const, volatile,關(guān)鍵字關(guān)鍵字 的注意事項:的注意事項:(1 1)所有)所有JavaJava關(guān)鍵字都是小寫的,例如:關(guān)鍵字都是小寫的,例如:truetrue、falsefalse和和nullnull為小寫,而為小寫,而不是象在不是象在C+C+語言中那樣為大寫。語言中那樣為大寫。(2 2)無)無sizeofsizeof運(yùn)算符,因為所有數(shù)據(jù)類型的長度和表示是固定的,與平運(yùn)算符,因為所有數(shù)據(jù)類型的長度和表示是固定的,與平臺無關(guān),不是象在臺無關(guān),不是象在C C語言中那樣數(shù)據(jù)類型的長度根據(jù)不同的平臺而變化。語言中那樣數(shù)據(jù)類型的長度根據(jù)不同的平臺而變化。

6、這正是這正是JavaJava語言的一大特點。語言的一大特點。(3 3)gotogoto和和constconst雖然從未被使用,但也被作為雖然從未被使用,但也被作為JavaJava關(guān)鍵字保留了下來。關(guān)鍵字保留了下來。 2.2.1 常量常量就是指在程序執(zhí)行期間其值不能發(fā)生變化的數(shù)據(jù)。如整型常量常量就是指在程序執(zhí)行期間其值不能發(fā)生變化的數(shù)據(jù)。如整型常量123123,實型常量,實型常量1.231.23,字符常量,字符常量AA,布爾常量,布爾常量truetrue。定義常量的語法如下:定義常量的語法如下:final datatype CONSTNAME=VALUE;final datatype CONST

7、NAME=VALUE;finalfinal是是JavaJava的關(guān)鍵字,表示定義的是常量,的關(guān)鍵字,表示定義的是常量,datatypedatatype為數(shù)據(jù)類型,為數(shù)據(jù)類型,CONSTNAMECONSTNAME為常為常量的名稱,量的名稱,VALUEVALUE是常量的值。是常量的值。【例例2-12-1】定義常量定義常量PIPI,并令,并令PI=3.14PI=3.14。final double PI = 3.14; final double PI = 3.14; 2.2.2 變量變量是變量是JavaJava的基本存儲單元。在的基本存儲單元。在JavaJava中,使用變量之前需要先聲明變量。變量聲明

8、通中,使用變量之前需要先聲明變量。變量聲明通常包括常包括3 3部分,變量類型、變量名和初始值。其中變量的初始值是可選的,聲明變部分,變量類型、變量名和初始值。其中變量的初始值是可選的,聲明變量的語法格式如下:量的語法格式如下:type identifier = value, identifier = value;type identifier = value, identifier = value;typetype是是JavaJava的基本類型、類或接口類型的名稱,的基本類型、類或接口類型的名稱,identifieridentifier(標(biāo)識符)是變量的名,(標(biāo)識符)是變量的名,=value=

9、value表示用具體的值對變量進(jìn)行初始化,即把某個值賦給變量。表示用具體的值對變量進(jìn)行初始化,即把某個值賦給變量?!纠?-22-2】定義定義3 3個個intint型的變量型的變量x1 , y1, z1x1 , y1, z1。int x1,y1,z1; int x1,y1,z1; 2.2.3 變量作用域變量的定義不但包括變量名和變量類型,同時還包括它的作用域,變量的作用域指明變量的定義不但包括變量名和變量類型,同時還包括它的作用域,變量的作用域指明可以訪問該變量的程序代碼的范圍。按作用域來分,變量可分為以下幾種:局部可以訪問該變量的程序代碼的范圍。按作用域來分,變量可分為以下幾種:局部變量、類

10、成員變量、方法參數(shù)和異常處理參數(shù)。變量、類成員變量、方法參數(shù)和異常處理參數(shù)。 (1 1)局部變量定義在方法中或方法內(nèi)的一個代碼塊中,其作用域為它所在的)局部變量定義在方法中或方法內(nèi)的一個代碼塊中,其作用域為它所在的代碼塊。代碼塊。(2 2)方法參數(shù)用于將方法外的數(shù)據(jù)傳遞給方法,其作用域就是方法的整個方)方法參數(shù)用于將方法外的數(shù)據(jù)傳遞給方法,其作用域就是方法的整個方法體。上面例子中的變量法體。上面例子中的變量x x,就是作用域整個,就是作用域整個sumsum方法中。方法中。(3 3)類成員變量的定義在類里面,但不在類里面的某個方法中,其作用域為)類成員變量的定義在類里面,但不在類里面的某個方法中

11、,其作用域為整個類。整個類。(4 4)異常處理參數(shù)將數(shù)據(jù)傳遞給異常處理代碼,其作用域是異常處理部分。)異常處理參數(shù)將數(shù)據(jù)傳遞給異常處理代碼,其作用域是異常處理部分。2.3.1 基本數(shù)據(jù)類型基本數(shù)據(jù)類型 1 1整數(shù)類型整數(shù)類型 分別是:分別是:byte(1B)byte(1B),short(2B)short(2B), int(4B)int(4B), long(8B)long(8B)2 2浮點類型浮點類型 浮點型分為兩種,分別是浮點型分為兩種,分別是floatfloat型型(4B)(4B)和和doubledouble型型(8B)(8B)3 3字符類型字符類型 char (2B)char (2B) c

12、har x1= a ; char x1= a ; 4 4布爾類型布爾類型booleanboolean 只有兩個值:只有兩個值:truetrue和和false ,false ,在在C C語言中允許將數(shù)字值轉(zhuǎn)換成邏輯值,這在語言中允許將數(shù)字值轉(zhuǎn)換成邏輯值,這在JavaJava編程語言中是不允許的。編程語言中是不允許的。 2.3.2 數(shù)據(jù)類型轉(zhuǎn)化 1 1自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換 當(dāng)把低級別的變量值賦給高級別的變量時,系統(tǒng)自動完成數(shù)據(jù)類型的轉(zhuǎn)換。當(dāng)把低級別的變量值賦給高級別的變量時,系統(tǒng)自動完成數(shù)據(jù)類型的轉(zhuǎn)換。例如:例如:float x = 100float x = 100;如果輸出如果輸出x x的值

13、,結(jié)果將是的值,結(jié)果將是100.0100.0。 2強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換當(dāng)把級別高的變量的值賦給級別低的變量時,需要強(qiáng)制類型轉(zhuǎn)換。當(dāng)把級別高的變量的值賦給級別低的變量時,需要強(qiáng)制類型轉(zhuǎn)換。強(qiáng)制轉(zhuǎn)換的格式為:強(qiáng)制轉(zhuǎn)換的格式為:(類型名)要轉(zhuǎn)換的值;(類型名)要轉(zhuǎn)換的值;例如:例如:int x = (int)129.34;如果輸出如果輸出x的值,結(jié)果將是的值,結(jié)果將是129。 2.4.1 賦值運(yùn)算符與賦值表達(dá)式 當(dāng)需要為不同的變量賦值時,就必須使用賦值運(yùn)算當(dāng)需要為不同的變量賦值時,就必須使用賦值運(yùn)算“=”,這里不是,這里不是“等號等號”的意思,的意思,而是而是“賦值賦值”的意思,例如:的意思,例

14、如:x = 29;這個語句的作用是將整數(shù)這個語句的作用是將整數(shù)29賦給變量賦給變量x,使變量,使變量x此時擁有的值為此時擁有的值為29。 2.4.2 算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)表達(dá)式是由算術(shù)運(yùn)算符將運(yùn)算數(shù)連接而成的表達(dá)式,下表羅列了各種算術(shù)運(yùn)算符。算術(shù)表達(dá)式是由算術(shù)運(yùn)算符將運(yùn)算數(shù)連接而成的表達(dá)式,下表羅列了各種算術(shù)運(yùn)算符。 2.4.3關(guān)系關(guān)系運(yùn)算符與關(guān)系關(guān)系表達(dá)式關(guān)關(guān)系運(yùn)算實際上就是系運(yùn)算實際上就是“比較運(yùn)算比較運(yùn)算”,將兩個值進(jìn)行比較,判斷比較的結(jié)果是否符合給定,將兩個值進(jìn)行比較,判斷比較的結(jié)果是否符合給定的條件,如果符合則表達(dá)式的結(jié)果為的條件,如果符合則表達(dá)式的結(jié)果為truetrue,否則

15、為,否則為falsefalse。關(guān)系運(yùn)算符及其說明見下表所示。關(guān)系運(yùn)算符及其說明見下表所示。 2.4.4邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符經(jīng)常用來連接關(guān)系表達(dá)式,對關(guān)系表達(dá)式進(jìn)行邏輯運(yùn)算,因此邏輯運(yùn)算符的邏輯運(yùn)算符經(jīng)常用來連接關(guān)系表達(dá)式,對關(guān)系表達(dá)式進(jìn)行邏輯運(yùn)算,因此邏輯運(yùn)算符的運(yùn)算對象必須是邏輯型數(shù)據(jù),邏輯表達(dá)式的運(yùn)行結(jié)果為邏輯型數(shù)據(jù)。運(yùn)算對象必須是邏輯型數(shù)據(jù),邏輯表達(dá)式的運(yùn)行結(jié)果為邏輯型數(shù)據(jù)。JavaJava中的邏輯運(yùn)中的邏輯運(yùn)算符有算符有3 3種,分別是:種,分別是:&(邏輯與)、(邏輯與)、|(邏輯或)、(邏輯或)、! !(邏輯非),其中前兩個是雙(邏輯非),其中前兩個是雙目運(yùn)算

16、符,第三個為單目運(yùn)算符。具體的運(yùn)算規(guī)則目運(yùn)算符,第三個為單目運(yùn)算符。具體的運(yùn)算規(guī)則見下表所示。見下表所示。 2.4.5 位運(yùn)算符 位運(yùn)算符用來對二進(jìn)制位進(jìn)行運(yùn)算,位運(yùn)算符會對兩個運(yùn)算數(shù)對應(yīng)的位執(zhí)行布爾代數(shù)運(yùn)位運(yùn)算符用來對二進(jìn)制位進(jìn)行運(yùn)算,位運(yùn)算符會對兩個運(yùn)算數(shù)對應(yīng)的位執(zhí)行布爾代數(shù)運(yùn)算。算。 1“與與”運(yùn)算符(運(yùn)算符(&)如果兩個輸入位都是如果兩個輸入位都是1,則按位,則按位“與與”運(yùn)算符(運(yùn)算符(&)生成一個輸出位)生成一個輸出位1;否則生成一個輸;否則生成一個輸出位出位0。2“或或”運(yùn)算符(運(yùn)算符(|)如果兩個輸入位里只要有一個是如果兩個輸入位里只要有一個是1,則按位,則按位

17、“或或”運(yùn)算符(運(yùn)算符(|)生成一個輸出位)生成一個輸出位1;只有;只有在兩個輸入位都是在兩個輸入位都是0的情況下,它才會生成一個輸出位的情況下,它才會生成一個輸出位0。3“異或異或”運(yùn)算符(運(yùn)算符()如果兩個輸入位的某一個是如果兩個輸入位的某一個是1,但不全都是,但不全都是1,那么,那么“異或異或”運(yùn)算(運(yùn)算()生成一個輸出位)生成一個輸出位1。 4“非非”運(yùn)算符(運(yùn)算符()按位按位“非非”( ,也稱為取補(bǔ)運(yùn)算)屬于一元運(yùn)算符;它只對一個運(yùn)算數(shù)進(jìn)行運(yùn)算,也稱為取補(bǔ)運(yùn)算)屬于一元運(yùn)算符;它只對一個運(yùn)算數(shù)進(jìn)行運(yùn)算(其他位運(yùn)算運(yùn)算符都是二元運(yùn)算符)。按位(其他位運(yùn)算運(yùn)算符都是二元運(yùn)算符)。按位“非

18、非”生成與輸入位相反的值生成與輸入位相反的值若輸入若輸入0,則輸出則輸出1;輸入;輸入1,則輸出,則輸出0。 位運(yùn)算符和邏輯運(yùn)算符都使用了同樣的符號。因此,我們能方便地記住它們的含義:位運(yùn)算符和邏輯運(yùn)算符都使用了同樣的符號。因此,我們能方便地記住它們的含義:由于由于“位位”是非常是非常“小小”的,所以位運(yùn)算符僅使用了一位符號。位運(yùn)算符可與等號的,所以位運(yùn)算符僅使用了一位符號。位運(yùn)算符可與等號(=)聯(lián)合使用,以便合并運(yùn)算運(yùn)算和賦值運(yùn)算:)聯(lián)合使用,以便合并運(yùn)算運(yùn)算和賦值運(yùn)算:&=,|=和和=都是合法的(由于都是合法的(由于是是一元運(yùn)算符,所以不可與一元運(yùn)算符,所以不可與=聯(lián)合使用)。聯(lián)合

19、使用)。 2.4.6 移位運(yùn)算符 移位運(yùn)算符運(yùn)算的運(yùn)算對象也是二進(jìn)制的移位運(yùn)算符運(yùn)算的運(yùn)算對象也是二進(jìn)制的“位位”,但是它們只可以被用來處理整數(shù)類型。,但是它們只可以被用來處理整數(shù)類型。 1左移位運(yùn)算符(左移位運(yùn)算符() 左移位運(yùn)算符(左移位運(yùn)算符()“有符號有符號”右移位運(yùn)算符(右移位運(yùn)算符()則將運(yùn)算符左邊的運(yùn)算對象向右移動運(yùn)算符右側(cè)指定的)則將運(yùn)算符左邊的運(yùn)算對象向右移動運(yùn)算符右側(cè)指定的位數(shù)。位數(shù)?!坝蟹栍蟹枴庇乙莆贿\(yùn)算符使用了右移位運(yùn)算符使用了“符號擴(kuò)展符號擴(kuò)展”:若符號為正,則在高位插入:若符號為正,則在高位插入0;若符號為負(fù),則在高位插入若符號為負(fù),則在高位插入1。移位的結(jié)果是

20、左邊的運(yùn)算數(shù)被。移位的結(jié)果是左邊的運(yùn)算數(shù)被2的冪來除,而指數(shù)的的冪來除,而指數(shù)的值是由第右邊的運(yùn)算數(shù)給出。例如:值是由第右邊的運(yùn)算數(shù)給出。例如: 3“無符號無符號”右移位運(yùn)算符(右移位運(yùn)算符() Java中增加了一種中增加了一種“無符號無符號”右移位運(yùn)算符(右移位運(yùn)算符(),它使用了),它使用了“零擴(kuò)展零擴(kuò)展”:無:無論正負(fù),都在高位插入論正負(fù),都在高位插入0。4左移賦值運(yùn)算符(左移賦值運(yùn)算符(=) 運(yùn)算符左邊的值向右移動由右邊的值指定的位數(shù),再將得到的結(jié)果賦回左邊的變量。運(yùn)算符左邊的值向右移動由右邊的值指定的位數(shù),再將得到的結(jié)果賦回左邊的變量。6無符號右移賦值運(yùn)算符(無符號右移賦值運(yùn)算符(=

21、) 運(yùn)算符左邊的值向右移動由右邊的值指定的位數(shù),再將得到的結(jié)果賦回左邊的變量。運(yùn)算符左邊的值向右移動由右邊的值指定的位數(shù),再將得到的結(jié)果賦回左邊的變量。 2.4.7 條件運(yùn)算符條件運(yùn)算符比較特別,它有三個運(yùn)算對象。使用條件運(yùn)算符的的語法格式如下:條件運(yùn)算符比較特別,它有三個運(yùn)算對象。使用條件運(yùn)算符的的語法格式如下: ? value1:value2 如果如果“布爾表達(dá)式布爾表達(dá)式”的結(jié)果為的結(jié)果為true,就計算,就計算 “value1”,而且這個計算結(jié)果也就是運(yùn)算,而且這個計算結(jié)果也就是運(yùn)算符最終產(chǎn)生的值。如果符最終產(chǎn)生的值。如果“布爾表達(dá)式布爾表達(dá)式”的結(jié)果為的結(jié)果為false,就計算,就計

22、算“value2”,同樣,它,同樣,它的結(jié)果也就成為了運(yùn)算符最終產(chǎn)生的值。例如:的結(jié)果也就成為了運(yùn)算符最終產(chǎn)生的值。例如:int a = 3, b = 6, c;c = (a b)? 1:2;執(zhí)行后的執(zhí)行后的c的值為的值為2。 Java中的控制語句有以下幾類。n分支語句n循環(huán)語句n跳轉(zhuǎn)語句2.5.1 分支語句分支語句使得程序在執(zhí)行時可以跳過某些語句不執(zhí)行(可根據(jù)條件表達(dá)式的值有選擇地分支語句使得程序在執(zhí)行時可以跳過某些語句不執(zhí)行(可根據(jù)條件表達(dá)式的值有選擇地執(zhí)行某些語句)。執(zhí)行某些語句)。Java 語言支持語言支持if和和switch分支語句。分支語句。1if-else語句語句if-else語

23、句或許是控制程序流程最基本的形式,其中的語句或許是控制程序流程最基本的形式,其中的else是可選的,所以可按下述兩是可選的,所以可按下述兩種形式來描述種形式來描述if語句。語句。 (1)沒有)沒有else的的if語句語法格式語句語法格式if (條件表達(dá)式條件表達(dá)式)語句或塊語句或塊;程序的執(zhí)行流程如下圖所示(2)帶有)帶有else的的if語句語法格式語句語法格式if (條件表達(dá)式條件表達(dá)式) 語句塊;語句塊; else 語句塊;語句塊;程序的執(zhí)行流程如右圖所示。程序的執(zhí)行流程如右圖所示。 2.switch語句語句switch語句是多分支的開關(guān)語句,它的一般格式定義如下(其中語句是多分支的開關(guān)語

24、句,它的一般格式定義如下(其中break語句是可選的)。語句是可選的)。switch(表達(dá)式)(表達(dá)式) case 常量值常量值1: 語句塊語句塊 break; case 常量值常量值2: 語句塊語句塊 break; case 常量值常量值n: 語句塊語句塊 break; default: 語句塊語句塊 注意:注意:(1)switch后面括號中表達(dá)式的值必須是后面括號中表達(dá)式的值必須是byte,char,short,int類型的常量表達(dá)式,類型的常量表達(dá)式,而不能用浮點類型或而不能用浮點類型或long類型,也不能為一個字符串。類型,也不能為一個字符串。(2)default子句是可選的。子句是可

25、選的。(3)break語句用來在執(zhí)行完一個語句用來在執(zhí)行完一個case分支后,使程序跳出分支后,使程序跳出switch語句,即終止語句,即終止switch語句的執(zhí)行。但在特殊情況下,多個不同的語句的執(zhí)行。但在特殊情況下,多個不同的case值要執(zhí)行一組相同的運(yùn)算,值要執(zhí)行一組相同的運(yùn)算,這時一組中前面的這時一組中前面的case可以去掉可以去掉break。(4)一個)一個switch語句可以代替多個語句可以代替多個if-else語句組成的分支語句,而語句組成的分支語句,而switch語句從思路語句從思路上顯得更清晰。上顯得更清晰。 Java 語言中提供的循環(huán)語句有:nwhile語句ndo-whil

26、e語句nfor語句2.5.2 循環(huán)語句1while語句語句while語句的格式如下:語句的格式如下:while(條件表達(dá)式條件表達(dá)式) 循環(huán)體語句;循環(huán)體語句;在循環(huán)剛開始時,會計算一次在循環(huán)剛開始時,會計算一次“條件表達(dá)式條件表達(dá)式”的值。當(dāng)條件為假時,將不執(zhí)行循環(huán)體,的值。當(dāng)條件為假時,將不執(zhí)行循環(huán)體,直接跳轉(zhuǎn)到循環(huán)體外,執(zhí)行循環(huán)體外的后續(xù)語句;當(dāng)條件為真時,便執(zhí)行循環(huán)體。每直接跳轉(zhuǎn)到循環(huán)體外,執(zhí)行循環(huán)體外的后續(xù)語句;當(dāng)條件為真時,便執(zhí)行循環(huán)體。每執(zhí)行完一次循環(huán)體,都會重新計算一次條件表達(dá)式,當(dāng)條件為真時,便繼續(xù)執(zhí)行循環(huán)執(zhí)行完一次循環(huán)體,都會重新計算一次條件表達(dá)式,當(dāng)條件為真時,便繼續(xù)執(zhí)行

27、循環(huán)體,直到條件為假才結(jié)束循環(huán)。體,直到條件為假才結(jié)束循環(huán)。 while語句的結(jié)構(gòu)如下圖所示 2do-while語句語句do-while語句的格式如下:語句的格式如下:do 循環(huán)體語句;循環(huán)體語句;while(條件表達(dá)式條件表達(dá)式);do-while循環(huán)與循環(huán)與while循環(huán)的不同在于:它先執(zhí)行循環(huán)中的語句,然后再判斷條件是否循環(huán)的不同在于:它先執(zhí)行循環(huán)中的語句,然后再判斷條件是否為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán)。因此,為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán)。因此,do-while循環(huán)至少要循環(huán)至少要執(zhí)行一次循環(huán)語句。執(zhí)行一次循環(huán)語句。do-while語句的結(jié)構(gòu)如下圖所示

28、 3for語句語句for語句是三個循環(huán)語句中功能最強(qiáng),使用最廣泛的一個。語句是三個循環(huán)語句中功能最強(qiáng),使用最廣泛的一個。for語句的格式如下:語句的格式如下:for(表達(dá)式表達(dá)式1;表達(dá)式表達(dá)式2;表達(dá)式表達(dá)式3) 循環(huán)體語句循環(huán)體語句;表達(dá)式表達(dá)式1一般是一個賦值語句,它用來給循環(huán)控制變量賦初值;一般是一個賦值語句,它用來給循環(huán)控制變量賦初值;表達(dá)式表達(dá)式2是一個布爾類型的表達(dá)式,它決定什么時候退出循環(huán);是一個布爾類型的表達(dá)式,它決定什么時候退出循環(huán);表達(dá)式表達(dá)式3一般用來修改循環(huán)變量,控制變量每循環(huán)一次后按什么方式變化。一般用來修改循環(huán)變量,控制變量每循環(huán)一次后按什么方式變化。上述三個表達(dá)

29、式之間用上述三個表達(dá)式之間用“;”分開。分開。for語句的結(jié)構(gòu)如下圖所示 for語句的執(zhí)行過程:語句的執(zhí)行過程:(1)在循環(huán)剛開始時,先計算表達(dá)式)在循環(huán)剛開始時,先計算表達(dá)式1,在這個過程中,一般完成的是初始化循環(huán)變量,在這個過程中,一般完成的是初始化循環(huán)變量或其它變量?;蚱渌兞俊#?)根據(jù)表達(dá)式)根據(jù)表達(dá)式2的值來決定是否執(zhí)行循環(huán)體。表達(dá)式的值來決定是否執(zhí)行循環(huán)體。表達(dá)式2是一個返回布爾值的表達(dá)式,是一個返回布爾值的表達(dá)式,若該值為假,將不執(zhí)行循環(huán)體,并退出循環(huán);若該值為真,將執(zhí)行循環(huán)體。若該值為假,將不執(zhí)行循環(huán)體,并退出循環(huán);若該值為真,將執(zhí)行循環(huán)體。(3)執(zhí)行完一次循環(huán)體后,計算表達(dá)

30、式)執(zhí)行完一次循環(huán)體后,計算表達(dá)式3。在這個過程中一般會修改循環(huán)變量。在這個過程中一般會修改循環(huán)變量。(4)轉(zhuǎn)入第()轉(zhuǎn)入第(2)步繼續(xù)執(zhí)行。)步繼續(xù)執(zhí)行。 2.5.3 2.5.3 跳轉(zhuǎn)語句跳轉(zhuǎn)語句1 1breakbreak語句語句在在JavaJava語言中,語言中,breakbreak用于強(qiáng)行退出循環(huán),不執(zhí)行循環(huán)中剩余的語句。如果用于強(qiáng)行退出循環(huán),不執(zhí)行循環(huán)中剩余的語句。如果breakbreak句出現(xiàn)句出現(xiàn)在嵌套循環(huán)中的內(nèi)層循環(huán),則在嵌套循環(huán)中的內(nèi)層循環(huán),則breakbreak只會退出當(dāng)前的一層循環(huán)。只會退出當(dāng)前的一層循環(huán)。2 2continuecontinue語句語句當(dāng)程序運(yùn)行到當(dāng)程序運(yùn)行

31、到continuecontinue語句時,就會停止循環(huán)體剩余的語句,而回到循環(huán)的開始處繼續(xù)語句時,就會停止循環(huán)體剩余的語句,而回到循環(huán)的開始處繼續(xù)執(zhí)行循環(huán)。執(zhí)行循環(huán)。Java語言提供了語言提供了3種形式的注釋:單行注釋、多行注釋和文檔注釋。種形式的注釋:單行注釋、多行注釋和文檔注釋。1單行注釋單行注釋 注釋格式如下:注釋格式如下: / 注釋內(nèi)容注釋內(nèi)容該方法進(jìn)行單行注釋,從符號該方法進(jìn)行單行注釋,從符號“/”直到換行為止的所有內(nèi)容均作為注釋而被編譯器忽略。直到換行為止的所有內(nèi)容均作為注釋而被編譯器忽略。例如下面代碼:例如下面代碼: int age=24; /定義整型變量定義整型變量age用于保

32、存年齡信息用于保存年齡信息上述語句中上述語句中“/定義整型變量定義整型變量age用于保存年齡信息用于保存年齡信息”就是行注釋部分。就是行注釋部分。2多行注釋多行注釋多行注釋通過多行注釋通過“/*”與與“*/”符號進(jìn)行標(biāo)記,它們必須成對出現(xiàn),在它們之間輸入的注釋內(nèi)容可符號進(jìn)行標(biāo)記,它們必須成對出現(xiàn),在它們之間輸入的注釋內(nèi)容可以換行。注釋格式如下:以換行。注釋格式如下:/ *注釋內(nèi)容注釋內(nèi)容1注釋內(nèi)容注釋內(nèi)容2*/2文檔注釋文檔注釋當(dāng)這類注釋出現(xiàn)在任何聲明(如類的聲明、類的成員變量的聲明或者類的成員方法的聲明)之前當(dāng)這類注釋出現(xiàn)在任何聲明(如類的聲明、類的成員變量的聲明或者類的成員方法的聲明)之前

33、時,會被時,會被JavaDoc文檔工具讀取作為文檔工具讀取作為JavaDoc文檔內(nèi)容,文檔是對代碼結(jié)構(gòu)和功能的描述。該注釋的文檔內(nèi)容,文檔是對代碼結(jié)構(gòu)和功能的描述。該注釋的格式如下:格式如下:/ * 提示信息提示信息1* 提示信息提示信息2* */ 在解決實際問題的過程中,往往需要處理大量相同類型的數(shù)據(jù),而在解決實際問題的過程中,往往需要處理大量相同類型的數(shù)據(jù),而且這些數(shù)據(jù)被反復(fù)使用。這種情況下,可以考慮使用數(shù)組來處理這種問且這些數(shù)據(jù)被反復(fù)使用。這種情況下,可以考慮使用數(shù)組來處理這種問題。數(shù)組就是相同類型的數(shù)據(jù)按順序組成的一種復(fù)合型數(shù)據(jù)類型。通過題。數(shù)組就是相同類型的數(shù)據(jù)按順序組成的一種復(fù)合型

34、數(shù)據(jù)類型。通過數(shù)組名和下標(biāo)來使用數(shù)組中的數(shù)據(jù),下標(biāo)從數(shù)組名和下標(biāo)來使用數(shù)組中的數(shù)據(jù),下標(biāo)從0開始。開始。使用數(shù)組的最大好處是:可以讓一批相同性質(zhì)的數(shù)據(jù)共用一個變量使用數(shù)組的最大好處是:可以讓一批相同性質(zhì)的數(shù)據(jù)共用一個變量名,而不必為每個數(shù)據(jù)命名一個名字。使用數(shù)組不僅使程序書寫大名,而不必為每個數(shù)據(jù)命名一個名字。使用數(shù)組不僅使程序書寫大為簡便清晰,可讀性大大提高,而且便于用循環(huán)語句簡單處理這類數(shù)據(jù)。為簡便清晰,可讀性大大提高,而且便于用循環(huán)語句簡單處理這類數(shù)據(jù)。 2.7.1 一維數(shù)組一維數(shù)組1一維數(shù)組聲明一維數(shù)組聲明聲明一維數(shù)組有下列兩種格式:聲明一維數(shù)組有下列兩種格式:(1)數(shù)組元素類型)數(shù)組

35、元素類型 數(shù)組名字?jǐn)?shù)組名字 ;(2)數(shù)組元素類型)數(shù)組元素類型 數(shù)組名字;數(shù)組名字;例如:采用不同的格式分別聲明一維數(shù)組例如:采用不同的格式分別聲明一維數(shù)組a1和和b1。int a1; int b1;數(shù)組數(shù)組a1和和b1中存放中存放int類型的數(shù)據(jù)。類型的數(shù)據(jù)。2一維數(shù)組聲初始化一維數(shù)組聲初始化聲明數(shù)組僅為數(shù)組指定數(shù)組名和數(shù)組元素的類型,并沒有為元素分配實際的存儲空聲明數(shù)組僅為數(shù)組指定數(shù)組名和數(shù)組元素的類型,并沒有為元素分配實際的存儲空間。間。Java數(shù)組的初始化可以通過直接指定初值的方式來完成,也可以用數(shù)組的初始化可以通過直接指定初值的方式來完成,也可以用new操作符來完操作符來完成。成。1

36、)直接指定初值的方式)直接指定初值的方式在聲明一個數(shù)組的同時將數(shù)組元素的初值依次寫入賦值號后的一對花括號內(nèi),給這在聲明一個數(shù)組的同時將數(shù)組元素的初值依次寫入賦值號后的一對花括號內(nèi),給這個數(shù)組的所有元素賦初始值。個數(shù)組的所有元素賦初始值。例如:例如:int a1=23,-9,38,8,65; 2)用關(guān)鍵字)用關(guān)鍵字new初始化數(shù)組初始化數(shù)組只為數(shù)組分配存儲空間而不對數(shù)組元素賦初值。用關(guān)鍵字只為數(shù)組分配存儲空間而不對數(shù)組元素賦初值。用關(guān)鍵字new來初始化數(shù)組有兩種來初始化數(shù)組有兩種方式:方式:(1)先聲明數(shù)組,再初始化數(shù)組。格式如下:)先聲明數(shù)組,再初始化數(shù)組。格式如下:類型標(biāo)識符類型標(biāo)識符 數(shù)組

37、名數(shù)組名 ;數(shù)組名數(shù)組名=new 類型標(biāo)識符類型標(biāo)識符數(shù)組長度數(shù)組長度;第一條語句是數(shù)組的聲明,第二條語句是初始化。數(shù)組長度通常是整型常量,第一條語句是數(shù)組的聲明,第二條語句是初始化。數(shù)組長度通常是整型常量,用以指明數(shù)組元素的個數(shù)。用以指明數(shù)組元素的個數(shù)。例如:例如:int a; a = new int9;(2)在聲明數(shù)組的同時用)在聲明數(shù)組的同時用new關(guān)鍵字初始化數(shù)組。格式如下:關(guān)鍵字初始化數(shù)組。格式如下:類型標(biāo)識符類型標(biāo)識符 數(shù)組名數(shù)組名 = new 類型標(biāo)識符類型標(biāo)識符數(shù)組長度數(shù)組長度 ; 或者或者類型標(biāo)識符類型標(biāo)識符 數(shù)組名數(shù)組名= new 類型標(biāo)識符類型標(biāo)識符數(shù)組長度數(shù)組長度 ;

38、例如:例如:int a=new int10; 3 3一維數(shù)組的引用一維數(shù)組的引用一維數(shù)組元素的引用格式如下:一維數(shù)組元素的引用格式如下:數(shù)組名數(shù)組名 數(shù)組下標(biāo)數(shù)組下標(biāo) 數(shù)組下標(biāo)的取值范圍是數(shù)組下標(biāo)的取值范圍是0 0( (數(shù)組長度數(shù)組長度-1)-1),下標(biāo)值可以是整數(shù)型常量或整數(shù)型變量表,下標(biāo)值可以是整數(shù)型常量或整數(shù)型變量表達(dá)式。達(dá)式。例如,在有了例如,在有了“int a=new int10;”int a=new int10;”聲明語句后,下面的兩條賦值語句是合法聲明語句后,下面的兩條賦值語句是合法的:的:a3=25; a3=25; a3+6=90; a3+6=90; 語句語句a10=8a10=

39、8;卻是錯誤的,因為下標(biāo)值超過了數(shù)組下標(biāo)的取值范圍。;卻是錯誤的,因為下標(biāo)值超過了數(shù)組下標(biāo)的取值范圍。 2.7.2 二維數(shù)組在在Java語言中,把二維數(shù)組實際上看成是其每個數(shù)組元素是一個一維數(shù)組的一維數(shù)組。語言中,把二維數(shù)組實際上看成是其每個數(shù)組元素是一個一維數(shù)組的一維數(shù)組。這里面最根本原因是計算機(jī)存儲器的編址是一維的,即存儲單元的編號從這里面最根本原因是計算機(jī)存儲器的編址是一維的,即存儲單元的編號從0開始一直開始一直連續(xù)編到最后一個最大的編號。連續(xù)編到最后一個最大的編號。 1二維數(shù)組聲明二維數(shù)組聲明二維數(shù)組的聲明只需要給出兩對方括號,格式如下:二維數(shù)組的聲明只需要給出兩對方括號,格式如下:類

40、型標(biāo)識符類型標(biāo)識符 數(shù)組名數(shù)組名 ;類型標(biāo)識符類型標(biāo)識符 數(shù)組名;數(shù)組名;其中:類型說明符可以是其中:類型說明符可以是Java的基本類型、類或接口;數(shù)組名是用戶遵循標(biāo)識符命名規(guī)的基本類型、類或接口;數(shù)組名是用戶遵循標(biāo)識符命名規(guī)則給出的一個標(biāo)識符;兩個方括號中前面的方括號表示行,后面的方括號表示列。則給出的一個標(biāo)識符;兩個方括號中前面的方括號表示行,后面的方括號表示列。2二維數(shù)組聲初始化二維數(shù)組聲初始化二維數(shù)組聲明同樣也是為數(shù)組命名和指定其數(shù)據(jù)類型的。它不為數(shù)組元素分配內(nèi)存,只二維數(shù)組聲明同樣也是為數(shù)組命名和指定其數(shù)據(jù)類型的。它不為數(shù)組元素分配內(nèi)存,只有經(jīng)初始化后才能為其分配存儲空間。二維數(shù)組的初始化也分為直接指定初值和用有經(jīng)初始化后才能為其分配存儲空間。二維數(shù)組的初始化也分為直接指定初值和用new操作符兩種方式。操作符兩種方式。 2二維數(shù)組聲初始化二維數(shù)組聲初始化1)直接指定初值的方式)直接指定初值的方式在數(shù)組聲明時對數(shù)據(jù)元素賦初值就是用指定的初值對數(shù)組初始化。在數(shù)組聲明時對數(shù)據(jù)元素賦初值就是用指定的

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論