ch3Java語言基礎(chǔ)ppt課件_第1頁
ch3Java語言基礎(chǔ)ppt課件_第2頁
ch3Java語言基礎(chǔ)ppt課件_第3頁
ch3Java語言基礎(chǔ)ppt課件_第4頁
ch3Java語言基礎(chǔ)ppt課件_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、3Java言語根底言語根底2-2Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.目的目的經(jīng)過本章學(xué)習(xí),您將可以經(jīng)過本章學(xué)習(xí),您將可以:熟習(xí)熟習(xí)Java用于數(shù)字、字符及類似的簡單數(shù)據(jù)地的數(shù)據(jù)類型用于數(shù)字、字符及類似的簡單數(shù)據(jù)地的數(shù)據(jù)類型。這些類型稱為根本類型。這些類型稱為根本類型。了解賦值語句及表達(dá)式。了解賦值語句及表達(dá)式。了解了解Java分支語句,循環(huán)的概念。分支語句,循環(huán)的概念。了解數(shù)給以及如何在簡單的了解數(shù)給以及如何在簡單的Java程序中運(yùn)用數(shù)組。程序中運(yùn)用數(shù)組。學(xué)習(xí)如何采用數(shù)組作為參數(shù),以及如何定義方法以前往數(shù)學(xué)習(xí)如何采用數(shù)組作為參數(shù),

2、以及如何定義方法以前往數(shù)組。組。熟習(xí)多維數(shù)組。熟習(xí)多維數(shù)組。2-3Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.JavaJava標(biāo)識符標(biāo)識符(identifier)(identifier)只能包含字母、數(shù)字只能包含字母、數(shù)字09和下劃線和下劃線_).首字符不能是數(shù)字。首字符不能是數(shù)字。不能包含空格或任何其他字符,比如點(diǎn)號不能包含空格或任何其他字符,比如點(diǎn)號.或或*。Java是區(qū)分大小寫的。是區(qū)分大小寫的。名字的長度沒有限制。名字的長度沒有限制。關(guān)鍵字不能用作類、對象或除其原義之外的任何事物的名關(guān)鍵字不能用作類、對象或除其原義之外的任何事物的

3、名字。字。不應(yīng)該在標(biāo)識符中運(yùn)用不應(yīng)該在標(biāo)識符中運(yùn)用$符號。符號。2-4Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.標(biāo)識符用法舉例標(biāo)識符用法舉例numberOfBaskets.NumberOfBaskets, number_of_baskets通常用大小字母來通常用大小字母來“斷開由多個(gè)單詞組成的名字。斷開由多個(gè)單詞組成的名字。inputStream YourClass CarWash hotCar不合法:不合法:My.class netscape go-team 7eleven2-5Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010

4、. All rights reserved.關(guān)鍵字關(guān)鍵字關(guān)鍵字也被稱為保管字關(guān)鍵字也被稱為保管字reserved word。不能重新定義恣意關(guān)鍵字。不能重新定義恣意關(guān)鍵字。它們的含義是由它們的含義是由Java言語確定的,無法改動(dòng)。言語確定的,無法改動(dòng)。不能將恣意一個(gè)關(guān)鍵字作為變量名、方法名或類名。不能將恣意一個(gè)關(guān)鍵字作為變量名、方法名或類名。null, true ,這些單詞不被當(dāng)作關(guān)鍵字。但是,有些作,這些單詞不被當(dāng)作關(guān)鍵字。但是,有些作者會(huì)將它們列為關(guān)鍵字。保險(xiǎn)起見,我將它們當(dāng)作關(guān)鍵者會(huì)將它們列為關(guān)鍵字。保險(xiǎn)起見,我將它們當(dāng)作關(guān)鍵字對待,他們也應(yīng)該如此。字對待,他們也應(yīng)該如此。2-6Copy

5、right 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.JavaJava根本數(shù)據(jù)類型根本數(shù)據(jù)類型邏輯型邏輯型(boolean)文字型文字型(char)整數(shù)類型整數(shù)類型(byte 、short、 int 和和long)浮點(diǎn)型浮點(diǎn)型(float double)2-7Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.邏輯型邏輯型(boolean)(boolean)只需兩個(gè)值,即只需兩個(gè)值,即true(真真),false(假假)命名命名boolean變量時(shí),要選擇在變量時(shí),要選擇在boolean表達(dá)式的值為表達(dá)式的值

6、為true時(shí)也為真的表述方式。時(shí)也為真的表述方式。要防止運(yùn)用那些不能很清楚地描畫變量值含義的名字要防止運(yùn)用那些不能很清楚地描畫變量值含義的名字比如isPositive 和systemAreOK等。這樣,將其用在while循環(huán)、if-else語句或其他控制語句中時(shí),他就很容易了解其含義。不要運(yùn)用numberSign 、systemStatus這樣的名字。2-8Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.文字型文字型(char)(char)用于單個(gè)字符,比如字母或百分號。用于單個(gè)字符,比如字母或百分號。Java程序中給出一個(gè)字符時(shí),會(huì)將其包圍

7、在單引號中程序中給出一個(gè)字符時(shí),會(huì)將其包圍在單引號中,而不是包圍在比引號中。,而不是包圍在比引號中。在字符兩邊運(yùn)用的是一樣的援用符號。在字符兩邊運(yùn)用的是一樣的援用符號。char symbol;Symbol=A;System.out.println(symbol);2-9Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.本義字符本義字符The word “Java names a language, not just a drink!”雙引號雙引號單引號單引號反斜杠反斜杠n新行。轉(zhuǎn)到下一行的起始位置新行。轉(zhuǎn)到下一行的起始位置r回車符。轉(zhuǎn)到當(dāng)前行的

8、起始位置回車符。轉(zhuǎn)到當(dāng)前行的起始位置t制表符。添加空格,直到下一個(gè)制表位為止制表符。添加空格,直到下一個(gè)制表位為止以反斜杠指示的特殊字符。以反斜杠指示的特殊字符。每個(gè)本義字符都寫成兩個(gè)符號,但實(shí)踐每個(gè)本義字符都寫成兩個(gè)符號,但實(shí)踐2-10Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.StringString類類Java中沒有用于字符串的根本類型。中沒有用于字符串的根本類型。String類型的值是援用字符串,它是被當(dāng)作一個(gè)單獨(dú)項(xiàng)類型的值是援用字符串,它是被當(dāng)作一個(gè)單獨(dú)項(xiàng)處置的字符序列。處置的字符序列。可以用可以用+運(yùn)算符拼接恣意數(shù)量的運(yùn)算符拼

9、接恣意數(shù)量的String對象。甚至可以對象。甚至可以經(jīng)過經(jīng)過+運(yùn)算符將一個(gè)運(yùn)算符將一個(gè)String變量和任何其他類型的對象變量和任何其他類型的對象拼接起來。結(jié)果總是一個(gè)拼接起來。結(jié)果總是一個(gè)String對象。對象。1.String solution=“The answer is “ + 42;2.String name=“xiaoshenyang; String greeting = “Hi + name; System.out.println(greeting);2-11Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.整數(shù)類型整數(shù)類型整數(shù)類

10、型:整數(shù)類型:byte, short, int 和和 long類型長度取值范圍byte8位-27 27-1short16位 -215 215-1int32位 -231 231-1long64位 -263 263-12-12Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.整型常量整型常量Java中缺省整型是中缺省整型是 int有有3種方式:十進(jìn)制、八進(jìn)制、十六進(jìn)制種方式:十進(jìn)制、八進(jìn)制、十六進(jìn)制十進(jìn)制 八進(jìn)制十六進(jìn)制_int 2407710XAB07long 24L0771L0XAB07L2-13Copyright 山西大學(xué)商務(wù)學(xué)院 2009-

11、2010. All rights reserved.浮點(diǎn)型浮點(diǎn)型浮點(diǎn)型:浮點(diǎn)型:float 和和 double長度:長度: float : 32位位 double: 64位位雙精度類型雙精度類型double比單精度類型比單精度類型float具有更高的精度具有更高的精度和更大的表示范圍和更大的表示范圍,但但float類型具有速度快、占用內(nèi)存類型具有速度快、占用內(nèi)存小的優(yōu)點(diǎn)。小的優(yōu)點(diǎn)。浮點(diǎn)型變量的默許值是浮點(diǎn)型變量的默許值是0.0。常量缺省是常量缺省是 double 類型。類型。2-14Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.變量變量程序

12、中的變量程序中的變量(variable)是用來存儲數(shù)字和字母這樣的是用來存儲數(shù)字和字母這樣的數(shù)據(jù)的??梢砸暈槟撤N類型的容器。數(shù)據(jù)的??梢砸暈槟撤N類型的容器。變量中的數(shù)字、字母或其他數(shù)據(jù)項(xiàng)稱為它的值。值是可變量中的數(shù)字、字母或其他數(shù)據(jù)項(xiàng)稱為它的值。值是可以改動(dòng)的。以改動(dòng)的。變量是作為存儲單元實(shí)現(xiàn)的。每個(gè)變量都分配了一個(gè)存變量是作為存儲單元實(shí)現(xiàn)的。每個(gè)變量都分配了一個(gè)存儲單元。在為其賦值時(shí),該值就被放置在變量的存儲單儲單元。在為其賦值時(shí),該值就被放置在變量的存儲單元中。元中。變量的命名規(guī)那么遵照變量的命名規(guī)那么遵照J(rèn)ava標(biāo)識符拼寫規(guī)那么。除此標(biāo)識符拼寫規(guī)那么。除此之外,還應(yīng)該選擇一些有協(xié)助的變量

13、名。之外,還應(yīng)該選擇一些有協(xié)助的變量名。運(yùn)用運(yùn)用Java程序中的每個(gè)變量之前都必需先對其進(jìn)展聲程序中的每個(gè)變量之前都必需先對其進(jìn)展聲明。明。2-15Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.變量的作用域變量的作用域部分變量。在一個(gè)方法或一對部分變量。在一個(gè)方法或一對 表示的代碼塊內(nèi)定義。表示的代碼塊內(nèi)定義。也稱為自動(dòng)變量或暫時(shí)變量。作用域是所在的方法或代也稱為自動(dòng)變量或暫時(shí)變量。作用域是所在的方法或代碼塊。碼塊。類成員變量。在方法外聲明且屬于一個(gè)類的定義體的變類成員變量。在方法外聲明且屬于一個(gè)類的定義體的變量。作用域是整個(gè)類。量。作用域

14、是整個(gè)類。方法參數(shù)。方法調(diào)用時(shí)傳送的參數(shù)。作用域是所在的方方法參數(shù)。方法調(diào)用時(shí)傳送的參數(shù)。作用域是所在的方法。法。異常處置器參數(shù)。是異常處置器參數(shù)。是catch語句塊的入口參數(shù)。作用域語句塊的入口參數(shù)。作用域是是catch語句后由語句后由 表示的語句塊。表示的語句塊。2-16Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.變量變量塊內(nèi)闡明的變量將屏蔽其所在類定義的同名變量。塊內(nèi)闡明的變量將屏蔽其所在類定義的同名變量。同一塊中假設(shè)定義兩個(gè)同名變量那么引起沖突。同一塊中假設(shè)定義兩個(gè)同名變量那么引起沖突。Java允許屏蔽,但沖突會(huì)引起編譯錯(cuò)誤。允許

15、屏蔽,但沖突會(huì)引起編譯錯(cuò)誤。2-17Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.變量的初始化變量的初始化類成員變量是系統(tǒng)自動(dòng)進(jìn)展初始化。類成員變量是系統(tǒng)自動(dòng)進(jìn)展初始化。部分變量必需在運(yùn)用前手工賦初值進(jìn)展初始化。如部分部分變量必需在運(yùn)用前手工賦初值進(jìn)展初始化。如部分變量沒有經(jīng)過初始化,就將產(chǎn)生編譯錯(cuò)誤。變量沒有經(jīng)過初始化,就將產(chǎn)生編譯錯(cuò)誤。2-18Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.變量變量創(chuàng)建一個(gè)對象后,運(yùn)用創(chuàng)建一個(gè)對象后,運(yùn)用newnew運(yùn)算符分配存儲空間時(shí)運(yùn)算符分配存儲空

16、間時(shí),系統(tǒng)按下表中的值自動(dòng)初始化成員變量。,系統(tǒng)按下表中的值自動(dòng)初始化成員變量。類型類型初始值初始值類型類型初始值初始值byte(byte)0double0.0short(short)0charu000(NULL)int0booleanfalselong0L所有引用類型所有引用類型nullfloat0.0f2-19Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.變量變量自動(dòng)變量在運(yùn)用之前必需初始化。自動(dòng)變量在運(yùn)用之前必需初始化。例:例: i n t x = ( i n t ) ( M a t h . r a n d o m ( ) i n t

17、 x = ( i n t ) ( M a t h . r a n d o m ( ) * * 1 0 0 ) ; 1 0 0 ) ;int y;int y;int z;int z;if (x 50) if (x 50) y = 9; y = 9; z = y +x; z = y +x; / / 能夠在初始化之前運(yùn)用導(dǎo)致編譯錯(cuò)誤能夠在初始化之前運(yùn)用導(dǎo)致編譯錯(cuò)誤2-20Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.JavaJava操作符類別操作符類別算術(shù)運(yùn)算操作符:算術(shù)運(yùn)算操作符:+,-,*,/, %, +, - -關(guān)系操作符:關(guān)系操作符:,

18、=, , , & , |, (逐位異或,逐位異或, (按按位取反位取反邏輯操作符:邏輯操作符:&, |, !, (異或異或),&, |賦值操作符:賦值操作符:=, +=, -=, *=, /=, %=,&=, |=, =, =, =其它操作符其它操作符: ?: , , . , ( ),(type), new, instanceof2-21Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.程序程序 3-1 3-1class Customer /* 闡明變量的作用域闡明變量的作用域*/public static vo

19、id main(String args) Customer customer = new Customer();String name = “John Smith; String name = “Tom David; = name; System.out.println( “The customers name: +);private String name;2-22Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.邏輯操作符與位操作符邏輯操作符與位操作符邏輯操作符與位操作符一樣的,根據(jù)操作

20、數(shù)斷定是何種邏輯操作符與位操作符一樣的,根據(jù)操作數(shù)斷定是何種運(yùn)算符運(yùn)算符 &, | - 稱為不短路與、或;稱為不短路與、或;&,| - 稱為短路與、或。稱為短路與、或。2-23Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.右移操作符右移操作符 和和 :帶符號右移:帶符號右移1010 2 111010. :無符號右移,以:無符號右移,以0 填充填充1010 2 001010 .2-24Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.Java Java 強(qiáng)迫類型轉(zhuǎn)換強(qiáng)迫類型轉(zhuǎn)換

21、JavaJava言語不支持變量類型間的恣意轉(zhuǎn)換,有時(shí)必需顯式言語不支持變量類型間的恣意轉(zhuǎn)換,有時(shí)必需顯式地進(jìn)展變量類型的轉(zhuǎn)換。地進(jìn)展變量類型的轉(zhuǎn)換。普通方式:普通方式:(type) expression(type) expression例:例:(float)x/2(float)x/2對強(qiáng)迫類型轉(zhuǎn)換的限制:對強(qiáng)迫類型轉(zhuǎn)換的限制:整型與浮點(diǎn)型可以相互轉(zhuǎn)換,但根本類型和數(shù)組、對整型與浮點(diǎn)型可以相互轉(zhuǎn)換,但根本類型和數(shù)組、對象等復(fù)合類型之間不能相互轉(zhuǎn)換。象等復(fù)合類型之間不能相互轉(zhuǎn)換。2-25Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.表達(dá)式的提升

22、和轉(zhuǎn)換表達(dá)式的提升和轉(zhuǎn)換例例:long bigval = 6; int smallval = 99L; float z = 12.414F; float z1 = 12.414; /6是整型量,所是整型量,所以該語句正確以該語句正確/99L是長整型量是長整型量, smallval是是int型型量量,賦值不相容,賦值不相容,該語句錯(cuò)誤該語句錯(cuò)誤/12.414F是浮點(diǎn)是浮點(diǎn)量量,該語句正確該語句正確/12.414是雙精度量是雙精度量,不能賦給單精度變不能賦給單精度變量量z1。該語句錯(cuò)誤。該語句錯(cuò)誤2-26Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserv

23、ed.表達(dá)式的提升和轉(zhuǎn)換表達(dá)式的提升和轉(zhuǎn)換顯式轉(zhuǎn)換如下:顯式轉(zhuǎn)換如下:long bigValue = 99L;int squashed = (int) (bigValue);轉(zhuǎn)換時(shí),目的類型用括號括起來,放到要修正的表達(dá)式的轉(zhuǎn)換時(shí),目的類型用括號括起來,放到要修正的表達(dá)式的前面。前面。 2-27Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.流控制流控制語句是語句是Java的最小執(zhí)行單位,語句間以分號的最小執(zhí)行單位,語句間以分號;作為分隔作為分隔符。符。2-28Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights

24、reserved.表達(dá)式語句表達(dá)式語句 下面是一些表達(dá)式語句:下面是一些表達(dá)式語句:customer1 = new Customer();customer1 = new Customer();point2 = new Point();point2 = new Point();x = 12;x = 12;x+;x+;2-29Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.表達(dá)式語句表達(dá)式語句方法調(diào)用通常前往一個(gè)值,普通用在表達(dá)式中。有的方方法調(diào)用通常前往一個(gè)值,普通用在表達(dá)式中。有的方法調(diào)用可直接當(dāng)作語句。法調(diào)用可直接當(dāng)作語句。如:如:Syst

25、em.out.println(“Hello World!);2-30Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.塊塊塊是一對花括號塊是一對花括號“和和“括起來的語句組。括起來的語句組。如,如, Point point1 = new Point();int x = point1.x; 第一個(gè)塊是空塊,其中不含任何語句。第二個(gè)塊含兩條語第一個(gè)塊是空塊,其中不含任何語句。第二個(gè)塊含兩條語句。句。方法體是一個(gè)塊。塊還用在流控制的語句中,如方法體是一個(gè)塊。塊還用在流控制的語句中,如if語句、語句、switch語句及循環(huán)語句。語句及循環(huán)語句。2-31

26、Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.分支語句分支語句 分支語句根據(jù)一定的條件,動(dòng)態(tài)決議程序的流程方向,分支語句根據(jù)一定的條件,動(dòng)態(tài)決議程序的流程方向,從程序的多個(gè)分支中選擇一個(gè)或幾個(gè)來執(zhí)行。從程序的多個(gè)分支中選擇一個(gè)或幾個(gè)來執(zhí)行。分支語句共有兩種:分支語句共有兩種:ifif語句和語句和switchswitch語句。語句。2-32Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.分支語句分支語句ifif語句的根本語法是:語句的根本語法是: if ( if (邏輯表達(dá)式邏輯表達(dá)式) )

27、 語句語句1;1; else else 語句語句2;2; ifif語句中的語句中的elseelse子句是可選的。子句是可選的。ifif關(guān)鍵字之后的邏輯表達(dá)式必需得到一個(gè)邏輯值,不能以關(guān)鍵字之后的邏輯表達(dá)式必需得到一個(gè)邏輯值,不能以數(shù)值來替代。數(shù)值來替代。 1. if 1. if語句語句2-33Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.if語句的含義語句的含義當(dāng)邏輯表達(dá)式結(jié)果為當(dāng)邏輯表達(dá)式結(jié)果為true時(shí),執(zhí)行語句時(shí),執(zhí)行語句1,然后繼續(xù)執(zhí),然后繼續(xù)執(zhí)行行if后面的語句。當(dāng)邏輯表達(dá)式為后面的語句。當(dāng)邏輯表達(dá)式為false時(shí),假設(shè)有時(shí),假設(shè)

28、有else子句,那么執(zhí)行語句子句,那么執(zhí)行語句2,否那么跳過該,否那么跳過該if語句,繼續(xù)執(zhí)語句,繼續(xù)執(zhí)行后面的語句。行后面的語句。語句語句1和語句和語句2既可以是單語句,也可以是語句塊。既可以是單語句,也可以是語句塊。if語句可以嵌套,嵌套時(shí),規(guī)定語句可以嵌套,嵌套時(shí),規(guī)定else子句屬于離它最近子句屬于離它最近的的if語句。語句。2-34Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.例例int count;count = getCount(); / 程序中定義的一個(gè)方法程序中定義的一個(gè)方法if (count 0) System.out.

29、println( “Error: count value is negative!); else System.out.println(“There will be +count +“ people for lunch today.); 2-35Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.if語句的嵌套語句的嵌套例例:if (firstVal = 0)if (secondVal = 1)firstVal+;elsefirstVal-;2-36Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved

30、.2. switch2. switch語句語句vswitch語句是多重分支語句,它的語法格式是:語句是多重分支語句,它的語法格式是:vswitch (表達(dá)式表達(dá)式) vcase c1:v語句組語句組1;break;vcase c2:v語句組語句組2;break;vvcase ck:v語句組語句組k;break;vdefault:v語句組語句組;break;v2-37Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.2. switch2. switch語句語句表達(dá)式的計(jì)算結(jié)果必需是表達(dá)式的計(jì)算結(jié)果必需是int型或字符型,即是型或字符型,即是int

31、型賦型賦值相容的。值相容的。當(dāng)用當(dāng)用byte,short或或char類型時(shí),要進(jìn)展提升。類型時(shí),要進(jìn)展提升。2-38Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.2. switch語句語句switch語句不允許運(yùn)用浮點(diǎn)型或語句不允許運(yùn)用浮點(diǎn)型或long型表達(dá)式。型表達(dá)式。c1,c2,ck是是int型或字符型常量。型或字符型常量。default子句是可子句是可選的,并且,最后一個(gè)選的,并且,最后一個(gè)break語句完全可以不寫。語句完全可以不寫。2-39Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reser

32、ved.switchswitch語句的語義語句的語義計(jì)算表達(dá)式的值,用該值依次和計(jì)算表達(dá)式的值,用該值依次和c1c1,c2c2,ckck相比較相比較。假設(shè)該值等于其中之一,那么執(zhí)行其后的語句組,直。假設(shè)該值等于其中之一,那么執(zhí)行其后的語句組,直到遇到到遇到breakbreak語句跳到語句跳到switchswitch之后的語句。假設(shè)沒有相之后的語句。假設(shè)沒有相匹配的值,那么執(zhí)行匹配的值,那么執(zhí)行defaultdefault之后的語句。之后的語句。2-40Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.switchswitch語句的語義語句的語義

33、switchswitch語句中各語句中各cici之后的語句既可以是單語句,也可以之后的語句既可以是單語句,也可以是語句組。是語句組。不論執(zhí)行哪個(gè)分支,程序流都會(huì)順序執(zhí)行下去,直到遇不論執(zhí)行哪個(gè)分支,程序流都會(huì)順序執(zhí)行下去,直到遇到到breakbreak語句為止。語句為止。2-41Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.2. switch2. switch語句例如語句例如例例:/ colorNum是整型變量是整型變量switch (colorNum) case 0:setBackground(Color.red);break;case

34、1:setBackground(Color.green); break;default:setBackground(Color.black);break;2-42Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.2. switch語句例如語句例如switchswitch語句和語句和ifif語句可以相互替代。語句可以相互替代。例例:if (colorum = 0)if (colorum = 0)setBackground(Color.red);setBackground(Color.red);else if (colorNum = 1)else

35、if (colorNum = 1)setBackground(Color.green);setBackground(Color.green);elseelsesetBackground(Color.black);setBackground(Color.black);2-43Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.循環(huán)語句循環(huán)語句 循環(huán)語句控制程序流多次執(zhí)行一段程序。循環(huán)語句控制程序流多次執(zhí)行一段程序。JavaJava言語提供三種循環(huán)語句:言語提供三種循環(huán)語句:forfor語句、語句、whilewhile語句和語句和dodo語句。語句。

36、 2-44Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.1.for語句語句forfor語句的語法格式是:語句的語法格式是:for (for (初始語句初始語句; ;邏輯表達(dá)式邏輯表達(dá)式; ;迭代語句迭代語句) ) 語句語句; ;初始語句和迭代語句中可以含有多個(gè)語句,各語句間以逗初始語句和迭代語句中可以含有多個(gè)語句,各語句間以逗號分隔。號分隔。forfor語句括號內(nèi)的三部分都是可選的,邏輯表達(dá)式為空時(shí),語句括號內(nèi)的三部分都是可選的,邏輯表達(dá)式為空時(shí),默許規(guī)定為恒真默許規(guī)定為恒真2-45Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010.

37、 All rights reserved.forfor語句的語義語句的語義先執(zhí)行初始語句,判別邏輯表達(dá)式的值,當(dāng)邏輯表達(dá)式先執(zhí)行初始語句,判別邏輯表達(dá)式的值,當(dāng)邏輯表達(dá)式為真時(shí),執(zhí)行循環(huán)體語句,執(zhí)行迭代語句,然后再去判為真時(shí),執(zhí)行循環(huán)體語句,執(zhí)行迭代語句,然后再去判別邏輯表達(dá)式的值。這個(gè)過程不斷進(jìn)展下去,直到邏輯別邏輯表達(dá)式的值。這個(gè)過程不斷進(jìn)展下去,直到邏輯表達(dá)式的值為假時(shí),循環(huán)終了,轉(zhuǎn)到表達(dá)式的值為假時(shí),循環(huán)終了,轉(zhuǎn)到for之后的語句。之后的語句。for語句中定義的循環(huán)控制變量只在該塊內(nèi)有效。語句中定義的循環(huán)控制變量只在該塊內(nèi)有效。2-46Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2

38、010. All rights reserved.循環(huán)語句例如循環(huán)語句例如 for (int i = 0; i 3; i+) System.out.println(“Are you finished yet?); System.out.println(“Finally!);2-47Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.結(jié)果結(jié)果Are you finished yet?Are you finished yet?Are you finished yet?Finally!2-48Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010.

39、All rights reserved.循環(huán)語句例如循環(huán)語句例如for ( ; ; )System.out.println(“Always print!);該語句等價(jià)于:該語句等價(jià)于:for ( ; true ; )System.out.println(“Always print!);這段循環(huán)不會(huì)停頓。這段循環(huán)不會(huì)停頓。2-49Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.循環(huán)語句例如循環(huán)語句例如int sumi = 0, sumj = 0;for ( int i = 0, j = 0; j 10; i+, j+) sumi += i;su

40、mj += j;2-50Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.2. while2. while循環(huán)循環(huán)while循環(huán)的語法是:循環(huán)的語法是:while (邏輯表達(dá)式邏輯表達(dá)式) 語句語句;while語句中的邏輯表達(dá)式不能用數(shù)值來替代。語句中的邏輯表達(dá)式不能用數(shù)值來替代。2-51Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.2. while2. while循環(huán)循環(huán)whilewhile語句的語義是:語句的語義是:計(jì)算邏輯表達(dá)式,當(dāng)邏輯表達(dá)式為真時(shí),反復(fù)執(zhí)行循環(huán)體計(jì)算邏輯表達(dá)式,當(dāng)邏輯

41、表達(dá)式為真時(shí),反復(fù)執(zhí)行循環(huán)體語句,直到邏輯表達(dá)式為假時(shí)終了。語句,直到邏輯表達(dá)式為假時(shí)終了。2-52Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.whilewhile語句的語義語句的語義假設(shè)第一次檢查時(shí)邏輯表達(dá)式為假,那么循環(huán)體語句一假設(shè)第一次檢查時(shí)邏輯表達(dá)式為假,那么循環(huán)體語句一次也不執(zhí)行。次也不執(zhí)行。假設(shè)邏輯表達(dá)式一直為真,那么循環(huán)不會(huì)終止。假設(shè)邏輯表達(dá)式一直為真,那么循環(huán)不會(huì)終止。2-53Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.while循環(huán)例如循環(huán)例如例例:int i =

42、0int i = 0;while (i 3) while (i 3) System.out.println(“Are you finished yet? System.out.println(“Are you finished yet?);); i+; i+; System.out.println(“Finally!System.out.println(“Finally!););2-54Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.3. do循環(huán)語句循環(huán)語句do語句的語法格式是:語句的語法格式是: do 語句語句; while (邏輯表達(dá)式

43、邏輯表達(dá)式);2-55Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.3. do循環(huán)語句循環(huán)語句dodo語句的語義是:語句的語義是:首先執(zhí)行循環(huán)體語句,然后斷定邏輯表達(dá)式的值,當(dāng)表達(dá)首先執(zhí)行循環(huán)體語句,然后斷定邏輯表達(dá)式的值,當(dāng)表達(dá)式為真時(shí),反復(fù)執(zhí)行循環(huán)體語句,直到表達(dá)式為假時(shí)終式為真時(shí),反復(fù)執(zhí)行循環(huán)體語句,直到表達(dá)式為假時(shí)終了。了。不論邏輯表達(dá)式的值是真是假,不論邏輯表達(dá)式的值是真是假,dodo循環(huán)中的循環(huán)體都至少循環(huán)中的循環(huán)體都至少執(zhí)行一次。執(zhí)行一次。2-56Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights

44、 reserved.do循環(huán)例如循環(huán)例如 do int i = 0; do System.out.println(“Are you finished yet?); i+; while (i 3); System.out.println(“Finally!);2-57Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.循環(huán)語句循環(huán)語句for、while及及do語句可相互替代。語句可相互替代。例如:例如: do 語句語句1;while (邏輯表達(dá)式邏輯表達(dá)式);等價(jià)于:等價(jià)于: 語句語句1; while(邏輯表達(dá)式邏輯表達(dá)式) 語句語句1;2-58C

45、opyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.特殊的流控制語句特殊的流控制語句JavaJava言語運(yùn)用兩條特殊的流控制語句:言語運(yùn)用兩條特殊的流控制語句:BreakBreakcontinuecontinue用在分支語句或循環(huán)語句中。用在分支語句或循環(huán)語句中。2-59Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.特殊的流控制語句特殊的流控制語句1. 1. 標(biāo)號標(biāo)號標(biāo)號可以放在標(biāo)號可以放在forfor,whilewhile或或dodo語句之前。語句之前。語法格式為:語法格式為:標(biāo)號標(biāo)號: :語

46、句語句; ;2-60Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.特殊的流控制語句特殊的流控制語句2. break2. break語句語句breakbreak語句可用于語句可用于switchswitch,forfor,whilewhile及及dodo語句中。語句中。語義:跳過本塊中余下的一切語句,轉(zhuǎn)到塊尾,執(zhí)行其后語義:跳過本塊中余下的一切語句,轉(zhuǎn)到塊尾,執(zhí)行其后的語句。的語句。2-61Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.breakbreak語句例如語句例如for (int i

47、 = 0; i 100; i+) if ( i = 5 )break;System.out.println(“i= +i);2-62Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.特殊的流控制語句特殊的流控制語句break語句還可以和標(biāo)號結(jié)合運(yùn)用。語句還可以和標(biāo)號結(jié)合運(yùn)用。語法格式為:語法格式為:break 標(biāo)號標(biāo)號;語義:是跳出標(biāo)號所標(biāo)志的語句塊,繼續(xù)執(zhí)行其后的語句語義:是跳出標(biāo)號所標(biāo)志的語句塊,繼續(xù)執(zhí)行其后的語句。2-63Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.breakbrea

48、k語句例如語句例如class Break public static void main (String args)int i, j = 0, k = 0, h;label1:for( i = 0; i 100; i+, j += 2)label2:label3:switch( i%2 ) case 1: h=1; break;default: h=0; break; if( i=50 )break label1; System.out.println(“i= +i);2-64Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.特殊的流控制語句特

49、殊的流控制語句3. continue3. continue語句語句在循環(huán)語句中,在循環(huán)語句中,continuecontinue可以立刻終了當(dāng)次循環(huán)而執(zhí)行下可以立刻終了當(dāng)次循環(huán)而執(zhí)行下一次循環(huán),當(dāng)然執(zhí)行前先判別循環(huán)條件能否滿足。一次循環(huán),當(dāng)然執(zhí)行前先判別循環(huán)條件能否滿足。continuecontinue語句也可以和標(biāo)號一同運(yùn)用。語句也可以和標(biāo)號一同運(yùn)用。語法格式為語法格式為: :continue continue 標(biāo)號標(biāo)號; ;2-65Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.continue語句例如語句例如outer:for (int

50、i = 0; i 10; i+) for (int j = 0; j i ) System.out.println();continue outer;System.out.print(“*);2-66Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.數(shù)組數(shù)組數(shù)組闡明數(shù)組闡明一個(gè)數(shù)組是一系列的匿名變量,數(shù)組中的元素可經(jīng)過下一個(gè)數(shù)組是一系列的匿名變量,數(shù)組中的元素可經(jīng)過下標(biāo)來訪問。標(biāo)來訪問。在在Java中,數(shù)組是對象。中,數(shù)組是對象。類類Object中定義的方法都可以用于數(shù)組。中定義的方法都可以用于數(shù)組。2-67Copyright 山西大學(xué)商務(wù)學(xué)院

51、 2009-2010. All rights reserved.數(shù)組闡明數(shù)組闡明程序員可以闡明任何類型的數(shù)組,數(shù)組元素可以是根本程序員可以闡明任何類型的數(shù)組,數(shù)組元素可以是根本類型,也可以是類類型,當(dāng)然還可以是數(shù)組。類型,也可以是類類型,當(dāng)然還可以是數(shù)組。例例char s ;Point points ;s的每個(gè)元素都是的每個(gè)元素都是char類型的,類型的,points的每個(gè)元素都是的每個(gè)元素都是類類Point類型的。類型的。2-68Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.等價(jià)的數(shù)組闡明等價(jià)的數(shù)組闡明char s;Point point

52、s; 這兩行闡明與前面的闡明完全等價(jià)。這兩行闡明與前面的闡明完全等價(jià)。2-69Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.創(chuàng)建數(shù)組創(chuàng)建數(shù)組和一切對象一樣,程序中運(yùn)用和一切對象一樣,程序中運(yùn)用new關(guān)鍵字創(chuàng)建關(guān)鍵字創(chuàng)建數(shù)組,方括號中的數(shù)字表示數(shù)組元素個(gè)數(shù)。數(shù)組,方括號中的數(shù)字表示數(shù)組元素個(gè)數(shù)。例:例:s = new char20;points = new Point100;points0 = new Point();points1 = new Point();Java中沒有靜態(tài)的數(shù)組定義,數(shù)組的內(nèi)存都是中沒有靜態(tài)的數(shù)組定義,數(shù)組的內(nèi)存都是經(jīng)

53、過經(jīng)過new動(dòng)態(tài)分配的。動(dòng)態(tài)分配的。2-70Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.points(a)PointsLength:100(b)pointsLength:100X:Y:(c)2-71Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.Point類定義如下:類定義如下:class Point int x, y; Point ( int x1, int y1) x = x1; y = y1; Point() this(0, 0); 2-72Copyright 山西大學(xué)商務(wù)學(xué)院 2

54、009-2010. All rights reserved.圖闡明圖闡明闡明語句闡明語句:Point points;執(zhí)行終了,系統(tǒng)為變量執(zhí)行終了,系統(tǒng)為變量points分配一個(gè)援用分配一個(gè)援用空間。空間。闡明語句闡明語句:points = new Point 100;執(zhí)行終了,系統(tǒng)在內(nèi)存中分配一個(gè)數(shù)組對象執(zhí)行終了,系統(tǒng)在內(nèi)存中分配一個(gè)數(shù)組對象并把數(shù)組援用賦給變量并把數(shù)組援用賦給變量points,闡明語句闡明語句: points1 = new Point ();2-73Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.數(shù)組闡明與數(shù)組創(chuàng)建可以合并:

55、數(shù)組闡明與數(shù)組創(chuàng)建可以合并: char s = new char 20; Point points = new Point 100;數(shù)組變量的類型可以不同于所指向的數(shù)組類數(shù)組變量的類型可以不同于所指向的數(shù)組類,但應(yīng)該是它的父類。,但應(yīng)該是它的父類。例如:例如: Object points; points = new Point 100; 例如:例如:Point points; points = new Object 100;正確錯(cuò)誤2-74Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.數(shù)組邊境數(shù)組邊境在在Java中,數(shù)組下標(biāo)從中,數(shù)組下標(biāo)從

56、0開場。開場。數(shù)組中的元素個(gè)數(shù)數(shù)組中的元素個(gè)數(shù)length是數(shù)組類中獨(dú)一的數(shù)據(jù)成員變是數(shù)組類中獨(dú)一的數(shù)據(jù)成員變量。量。運(yùn)用運(yùn)用new創(chuàng)建數(shù)組時(shí)系統(tǒng)自動(dòng)給創(chuàng)建數(shù)組時(shí)系統(tǒng)自動(dòng)給length賦值。賦值。數(shù)組一旦創(chuàng)建終了,其大小就固定下來。數(shù)組一旦創(chuàng)建終了,其大小就固定下來。程序運(yùn)轉(zhuǎn)時(shí)運(yùn)用程序運(yùn)轉(zhuǎn)時(shí)運(yùn)用length進(jìn)展數(shù)組邊境檢查。進(jìn)展數(shù)組邊境檢查。假設(shè)發(fā)生越界訪問,那么拋出一個(gè)異常。假設(shè)發(fā)生越界訪問,那么拋出一個(gè)異常。2-75Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.例如例如int list = new int 10;for (int i =

57、 0; i list.length; i+) / 進(jìn)展相應(yīng)處置的代碼進(jìn)展相應(yīng)處置的代碼循環(huán)的終了條件中運(yùn)用循環(huán)的終了條件中運(yùn)用list.length,而不是常數(shù),而不是常數(shù)10。益處:不會(huì)引起數(shù)組下標(biāo)越界,使程序更強(qiáng)壯,修正更方益處:不會(huì)引起數(shù)組下標(biāo)越界,使程序更強(qiáng)壯,修正更方便。便。2-76Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.數(shù)組初始化數(shù)組初始化數(shù)組名加上下標(biāo)可以表示數(shù)組元素。數(shù)組名加上下標(biāo)可以表示數(shù)組元素。數(shù)組的下標(biāo)范圍為數(shù)組的下標(biāo)范圍為0到到length-1。當(dāng)創(chuàng)建一個(gè)數(shù)組時(shí),每個(gè)元素都被初始化。當(dāng)創(chuàng)建一個(gè)數(shù)組時(shí),每個(gè)元素都

58、被初始化。Java允許用初值來創(chuàng)建數(shù)組。允許用初值來創(chuàng)建數(shù)組。2-77Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.例如例如String names = Georgianna;Jen;Simon;Tom;2-78Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.靜態(tài)初始化靜態(tài)初始化靜態(tài)初始化可用于任何元素類型,初值塊中每個(gè)位靜態(tài)初始化可用于任何元素類型,初值塊中每個(gè)位置的每個(gè)元素對應(yīng)一個(gè)援用。置的每個(gè)元素對應(yīng)一個(gè)援用。names = new String4;names0 = Georgian

59、na;names1 = Jen;names2 = Simon;names3 = Tom;2-79Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.多維數(shù)組多維數(shù)組Java可以建立數(shù)組的數(shù)組的數(shù)組可以建立數(shù)組的數(shù)組的數(shù)組,由此得,由此得到多維數(shù)組。到多維數(shù)組。普通來講,普通來講,n維數(shù)組是維數(shù)組是n-1維數(shù)組的數(shù)組。維數(shù)組的數(shù)組。闡明多維數(shù)組時(shí)運(yùn)用類型及多對方括號。闡明多維數(shù)組時(shí)運(yùn)用類型及多對方括號。多維數(shù)組可以從最高維起,分別為每一維分配內(nèi)存多維數(shù)組可以從最高維起,分別為每一維分配內(nèi)存。2-80Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2

60、010. All rights reserved.例如例如int twoDim = new int 4 ;twoDim0 = new int5;twoDim1 = new int5;2-81Copyright 山西大學(xué)商務(wù)學(xué)院 2009-2010. All rights reserved.二維數(shù)組二維數(shù)組創(chuàng)建二維數(shù)組的普通格式為:創(chuàng)建二維數(shù)組的普通格式為:type arrayN = new type arrleng1 ;arrayN 0 = new type arrleng2;arrayN 1 = new type arrleng2;.arrayN arrleng1 - 1 = new type arrleng2;2-82Copyrig

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論