Java程序設(shè)計(jì)與實(shí)踐(微課版)-課件2.1-基本語法_第1頁
Java程序設(shè)計(jì)與實(shí)踐(微課版)-課件2.1-基本語法_第2頁
Java程序設(shè)計(jì)與實(shí)踐(微課版)-課件2.1-基本語法_第3頁
Java程序設(shè)計(jì)與實(shí)踐(微課版)-課件2.1-基本語法_第4頁
Java程序設(shè)計(jì)與實(shí)踐(微課版)-課件2.1-基本語法_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章Java基本語法主講人:羅方芳本章學(xué)習(xí)內(nèi)容Java的基本語法變量運(yùn)算符選擇結(jié)構(gòu)語句循環(huán)結(jié)構(gòu)語句方法數(shù)組枚舉類型1Java的基本語法1.1基本語法—Java代碼的基本格式Java代碼的基本格式Java中的程序代碼都必須放在一個(gè)類中類需使用class關(guān)鍵字定義在class前面可以有一些修飾符

1.2基本語法—注釋單行注釋

多行注釋文檔注釋1.3基本語法—Java中的標(biāo)識(shí)符標(biāo)識(shí)符編程過程中,經(jīng)常需要在程序中定義一些符號(hào)來標(biāo)記一些名稱。如,包名、類名、方法名、參數(shù)名、變量名等,這些符號(hào)被稱為標(biāo)識(shí)符。標(biāo)識(shí)符的命名規(guī)則可由任意順序的大小寫字母、數(shù)字、下劃線(_)和美元符號(hào)($)組成不能以數(shù)字開頭不能是Java中的關(guān)鍵字(如for,if等)。1.3基本語法—Java中的標(biāo)識(shí)符合法的標(biāo)識(shí)符usernameusername123_username$username變量x不合法的標(biāo)識(shí)符123usernameclass98.3HelloWorld1.4基本語法—Java中的關(guān)鍵字關(guān)鍵字編程語言里事先定義好并賦予了特殊含義的單詞不能用作標(biāo)識(shí)符Java中的關(guān)鍵字abstractbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseextendsfinalfinallyfloatforgotoifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnshortstaticstrictfpsuperswitchsynchronizedthisthrowthrowstransienttryvoidvolatilewhileassertenum1.5基本語法—Java中的常量常量就是在程序中固定不變的值,是不能改變的數(shù)據(jù)。finalintx=10;//現(xiàn)在不能對(duì)x進(jìn)行修改如下均為字面常量值,可在代碼中直接使用100.23'a'"HelloWorld"true、falsenull2Java中的變量2.1Java中的變量——變量的定義變量的定義程序會(huì)將程序運(yùn)行時(shí)產(chǎn)生的臨時(shí)數(shù)據(jù)保存在一些內(nèi)存單元中,每個(gè)內(nèi)存單元都用一個(gè)標(biāo)識(shí)符來標(biāo)識(shí)。這些內(nèi)存單元我們稱之為變量。定義的標(biāo)識(shí)符就是變量名。內(nèi)存單元中存儲(chǔ)的數(shù)據(jù)就是變量的值。內(nèi)存intx0inty內(nèi)存intx0inty3y=x+32.2變量的數(shù)據(jù)類型數(shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)值型字符型(char)布爾型(boolean)類(class)接口(interface)數(shù)組枚舉(enum)注解(Annotation)整數(shù)類型(byte,short,int,long)浮點(diǎn)類型(float,double)2.2變量的數(shù)據(jù)類型(1)整數(shù)類型變量用來存儲(chǔ)整數(shù)數(shù)值。即,沒有小數(shù)部分的值。整數(shù)字面常量 bytex=127;//自動(dòng)轉(zhuǎn)換inty=66;longz=2147483647+1L;

inta=100_0000;類型占用空間取值范圍byte8位(1個(gè)字節(jié))-27~27-1short16位(2個(gè)字節(jié))-215~215-1int32位(4個(gè)字節(jié))-231~231-1long64位(8個(gè)字節(jié))-263~263-18十進(jìn)制int0b1001二進(jìn)制int017八進(jìn)制int0x2F,0X2F十六進(jìn)制int3L,3l十進(jìn)制long2.2變量的數(shù)據(jù)類型(2)浮點(diǎn)數(shù)類型變量可存儲(chǔ)包含小數(shù)部分得數(shù)值。分為兩種單精度浮點(diǎn)數(shù)(float,有效位6-7位,較少使用)雙精度浮點(diǎn)數(shù)(double,有效位15位)double型的精度是float型的兩倍通常使用double型類型占用空間取值范圍float32位(4個(gè)字節(jié))1.4E-45

~3.4E+38,-3.4E+38~-1.4E-45double64位(8個(gè)字節(jié))4.9E-324~1.7E+308,-1.7E+308~-4.9E-3242.2變量的數(shù)據(jù)類型浮點(diǎn)數(shù)字面常量doublex=10.0;//最常用floatpi=3.14f;浮點(diǎn)數(shù)是不精確的!不能用于金融計(jì)算 2.0–1.1=?,1.01+2.02=?如果你余額有99.9999元,是無法買100元的東西3.14ffloat3.0double3.14d,3.14Ddouble123e3,123E-3double2.2變量的數(shù)據(jù)類型(3)字符類型變量用于存儲(chǔ)單個(gè)字符,在Java中用char表示。每個(gè)char類型的字符變量占用2個(gè)字節(jié),Unicode(UTF-16)字符。范圍:'\u0000'至'\uffff'賦值時(shí),要用英文半角格式的單引號(hào)('')把字符括起來,如'a'。注意:

'a'與"a"不同,""與""也不同。2.2變量的數(shù)據(jù)類型以反斜杠(\)開頭的字符,反斜杠將其后面的字符轉(zhuǎn)變?yōu)榱硗獾暮x,稱為轉(zhuǎn)義字符。常見轉(zhuǎn)義字符轉(zhuǎn)義字符名稱轉(zhuǎn)義字符名稱\b退格\"雙引號(hào)\t制表符\'單引號(hào)\n換行\(zhòng)\反斜杠\r回車\uxxxx十六進(jìn)制指定的Unicode字符\f換頁\xxx八進(jìn)制指定的Unicode字符2.2變量的數(shù)據(jù)類型(4)布爾類型變量用于存儲(chǔ)布爾值,在Java中用boolean表示。布爾類型變量只有兩個(gè)值,即true和false2.3變量類型的轉(zhuǎn)換把一種數(shù)據(jù)類型的值賦給另一種數(shù)據(jù)類型的變量時(shí)需進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換2.3變量類型的轉(zhuǎn)換(1)自動(dòng)類型轉(zhuǎn)換兩種數(shù)據(jù)類型在轉(zhuǎn)換的過程中不需要顯式地進(jìn)行聲明。要實(shí)現(xiàn)自動(dòng)類型轉(zhuǎn)換,必須同時(shí)滿足兩個(gè)條件:兩種數(shù)據(jù)類型彼此兼容;目標(biāo)類型的取值范圍大于源類型的取值范圍。2.3變量類型的轉(zhuǎn)換(1)自動(dòng)類型轉(zhuǎn)換doubled=20;//正確inti=20.0;//錯(cuò)誤charc='a';

shorts=c;//錯(cuò)誤longx=1024+1L;//正確charc1=65535;//正確charc2=65536;//錯(cuò)誤int

z='A'+1;//正確

(2)強(qiáng)制類型轉(zhuǎn)換當(dāng)兩種類型彼此不兼容或者目標(biāo)類型取值范圍小于源類型時(shí),自動(dòng)類型轉(zhuǎn)換無法進(jìn)行,這時(shí)就需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。強(qiáng)制類型轉(zhuǎn)換的格式:

可能造成數(shù)據(jù)大小的損失

2.3變量類型的轉(zhuǎn)換目標(biāo)類型變量=(目標(biāo)類型)值會(huì)造成數(shù)據(jù)損失!2.4變量的作用域當(dāng)變量需要在它的作用范圍內(nèi)才可以被使用。在程序中,變量一定會(huì)被定義在某一對(duì)大括號(hào)中,該大括號(hào)所包含的代碼區(qū)域便是這個(gè)變量的作用域。

作用域演示3Java中的運(yùn)算符(圖缺位運(yùn)算符)3.1Java中的運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符就是用來處理四則運(yùn)算的符號(hào)。算數(shù)運(yùn)算符分兩大類二元運(yùn)算符+-*/%(求模,也叫取余)一元運(yùn)算符+-正負(fù)號(hào)++--3.1Java中的運(yùn)算符二元算數(shù)運(yùn)算符詳解+加法運(yùn)算符:對(duì)兩個(gè)運(yùn)算數(shù)進(jìn)行加法運(yùn)算3+5,1+'a'+還可用于字符串拼接!

任何運(yùn)算數(shù)+字符串都將轉(zhuǎn)化為字符串3+"5"->"35"3.1Java中的運(yùn)算符/除法運(yùn)算符整數(shù)之間相除為取整:3/2->1,1/10->0整數(shù)與浮點(diǎn)數(shù)相除:3/2.0->1.5常見用法:截取數(shù)字取1998的千位與百位:1998/100%求模運(yùn)算符常用于整數(shù)取余:18%5->3可用于浮點(diǎn)數(shù):5.5%2->1.5,2%0.4->0.3999常見用法讓任意數(shù)不超過指定的n:x%n截取數(shù)字:1998%1003.1Java中的運(yùn)算符一元算數(shù)運(yùn)算符詳解正(+)負(fù)(-)運(yùn)算符+5,-5應(yīng)用:將x的正負(fù)號(hào)改變intx=-5;x=-x; //53.1Java中的運(yùn)算符一元算數(shù)運(yùn)算符詳解++--自增、自減運(yùn)算符變量自身加1、減1x++與x=x+1等價(jià)作為前綴,則先加。結(jié)果為增加后的值。x=5;y=++x;//該語句執(zhí)行完x=5,y=6作為后綴,則后加。結(jié)果為增加前的值。x=5;y=x++;//該語句執(zhí)行完x=6,y=53.2Java中的運(yùn)算符——賦值運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符的作用就是將常量、變量或表達(dá)式的值賦給某一個(gè)變量。

=:賦值。x=3;將3賦值給x

+=

:x+=2等價(jià)于x=x+2設(shè)x=5運(yùn)算符算式結(jié)果*=x

*=

2

x=10/=x/=2x=2%=x%=2x=13.3Java中的運(yùn)算符——比較運(yùn)算符比較運(yùn)算符比較運(yùn)算符用于對(duì)兩個(gè)數(shù)值或變量進(jìn)行比較,其結(jié)果是一個(gè)布爾值,即true或false。注意

比較運(yùn)算符“==”與賦值運(yùn)算符“=”不一樣運(yùn)算符說明例子值==判斷是否相等5==3;true==falsefalsefalse!=不相等5!=3true<小于5<3false>大于5>3true<=小于等于5<=5true>=大于等于3>=3false表達(dá)式1==2的值應(yīng)使用什么類型的變量存放?

[填空1]

作答正常使用填空題需3.0以上版本雨課堂可為此題添加文本、圖片、公式等解析,且需將內(nèi)容全部放在本區(qū)域內(nèi)。正常使用需3.0以上版本答案解析答案解析填空題1分3.4Java中的運(yùn)算符——邏輯運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符用于對(duì)布爾型的數(shù)據(jù)進(jìn)行操作,其結(jié)果是一個(gè)布爾值。主要包含:與運(yùn)算&、短路與&&,或運(yùn)算|、短路或||異或運(yùn)算^,非運(yùn)算!注:上表也適用于&&、||與運(yùn)算值true&truetruetrue&falsefalsefalse&truefalsefalse&falsefalse或運(yùn)算值true|truetruetrue|falsetruefalse|truetruefalse|falsefalse3.4Java中的運(yùn)算符——邏輯運(yùn)算符邏輯運(yùn)算符異或運(yùn)算^:兩個(gè)布爾值不相同則為true非運(yùn)算!:對(duì)布爾值取其非異或運(yùn)算值true^truefalsefalse^falsefalsetrue^falsetruefalse^truetrue“非”運(yùn)算值!truefalse!falsetrue應(yīng)用:判斷某個(gè)變量是否為false設(shè)isExist變量用來判斷是否存在,為false代表不存在。則if(!isExist){dosth}代表,如果不存在(即,isExist為false)則dosth.3.4Java中的運(yùn)算符——邏輯運(yùn)算符邏輯“與”&&,邏輯“或”||,邏輯“非”!如果x值為101&&與||以“短路”方式求值設(shè)e1,e2為表達(dá)式e1&&e2,當(dāng)e1為false就不算e2e1||e2,當(dāng)e1為true就不算e2int

x=5,y=5,z=5;1.t=(x!=5)&y==(z=y/x);t=[填空1]z=[填空2]

2.t=(x!=5)&&y==(z=y/x);t=[填空3]z=[填空4]

注意:分別單獨(dú)計(jì)算作答正常使用填空題需3.0以上版本雨課堂可為此題添加文本、圖片、公式等解析,且需將內(nèi)容全部放在本區(qū)域內(nèi)。正常使用需3.0以上版本答案解析答案解析填空題4分3.4Java中的運(yùn)算符——邏輯運(yùn)算符邏輯運(yùn)算符使用“&”進(jìn)行運(yùn)算時(shí),不論左邊為true或者false,右邊的表達(dá)式都會(huì)進(jìn)行運(yùn)算。使用“&&”進(jìn)行運(yùn)算,當(dāng)左邊為false時(shí),右邊的表達(dá)式不會(huì)進(jìn)行運(yùn)算,因此“&&”被稱作短路與。“||”表示短路或,當(dāng)運(yùn)算符“||”的左邊為true時(shí),右邊的表達(dá)式不會(huì)進(jìn)行運(yùn)算例子若x=5,y=5,z=5;則t=(x!=5)&y==(z=y/x);//z=?則t=(x!=5)&&y==(z=y/x);//z=?3.5位運(yùn)算符位運(yùn)算符:包括逐位操作與移位操作逐位操作:&(按位與)|(按位或)^(按位異或)

~(按位取反)整數(shù)值二進(jìn)制910013119&319|310119^31010~9111111111111111111111111111101103.5位運(yùn)算符&運(yùn)算符常用來截取指定位數(shù)值截取任意整數(shù)低8位的值截取x的第5位值3.5位運(yùn)算符移位操作:左移(<<)、右移(>>,用符號(hào)位填充高位)、<<低位補(bǔ)0,相當(dāng)于乘2無符號(hào)右移(>>>,用0填空高位)3.6Java中的運(yùn)算符—運(yùn)算符的優(yōu)先級(jí)運(yùn)算符的優(yōu)先級(jí)在對(duì)一些比較復(fù)雜的表達(dá)式進(jìn)行運(yùn)算時(shí),要明確表達(dá)式中所有運(yùn)算符參與運(yùn)算的先后順序,把這種順序稱作運(yùn)算符的優(yōu)先級(jí)。k=j>i&&8==m問:&&第幾個(gè)算?a=a+1

問:先算=,還是先算+?x=x+++-y問:這個(gè)表達(dá)式要干嗎?最佳實(shí)踐遇事不決加圓括號(hào)()與適當(dāng)?shù)目崭駅=(j>i)&&(8==m)x=x+++(-y)3.6Java中的運(yùn)算符—運(yùn)算符的優(yōu)先級(jí)運(yùn)算符(從上到下依次降低)備注.[]()(方法調(diào)用)!~++--()(強(qiáng)制類型轉(zhuǎn)換)+-(正負(fù)符號(hào))new大部分是一元*/%二元(乘、除、取余)+-二元(加減)<<>>>>>移位<<=>>=instanceof關(guān)系==!=比較&按位與^按位異或|按位或&&短路與||短路或?:三元運(yùn)算符=+=-=*=/=%=&=!=^=<<=>>=>>>=賦值小練習(xí)c=++a+b;z=+x--yfalse||3>2a^b<<23.7表達(dá)式、語句與代碼塊一個(gè)Java程序是由表達(dá)式(expression)、語句(statement)與塊(block)組成的publicclassMain{publicstaticvoidmain(String[]args){

intx,y,z;x=1;y

=

2;

z=x*y;System.out.println("result="+z);

}}

3.7表達(dá)式、語句與代碼塊表達(dá)式由變量、運(yùn)算符、字面量、方法調(diào)用等組成對(duì)表達(dá)式計(jì)算將得到一個(gè)值intx=3;//得到int0.1*3*5+(5-2)*10//得到doubledoubley=Math.sqrt(6);//得到doublebooleanflag=5>3;//得到booleanStringx=""+123;//得到Stringif(x>y)……;//得到true或false"x>y"http://得到String3.7表達(dá)式、語句與語句塊語句:一個(gè)完整的執(zhí)行單元。

intx;//聲明語句

x=3*5+(2-1)*10;//表達(dá)式語句

x++;//表達(dá)式語句

System.out.println(x);//表達(dá)式語句說明:藍(lán)色字為表達(dá)式,黃色底為語句。聲明一個(gè)變量x。將表達(dá)式計(jì)算得到的值25賦給變量x。執(zhí)行x++。最后調(diào)用方法輸出x。上述語句均以分號(hào)(;)結(jié)尾其他語句:流程控制語句等3.7表達(dá)式、語句與代碼塊代碼塊:花括號(hào)({})之間的一組語句。以{開始,以}結(jié)束該例中代碼塊中包含著多條語句。注意:代碼塊中也可以不包含語句4選擇結(jié)構(gòu)4.1選擇結(jié)構(gòu)—if條件語句(1)if條件語句if條件語句分為三種語法格式,具體如下:if語句if…else語句if…elseif…else語句4.1選擇結(jié)構(gòu)(2)if條件語句if語句指如果滿足某種條件,就進(jìn)行某種處理語法格式:if(條件語句){

語句塊}4.1選擇結(jié)構(gòu)—if條件語句(2)if…else條件語句if…else語句是指如果滿足某種條件,就進(jìn)行某種處理,否則就進(jìn)行另一種處理。語法格式:if(判斷條件){

語句塊1}else{

語句塊2}4.1選擇結(jié)構(gòu)—if條件語句(2)if…else條件語句在Java中有一種特殊的運(yùn)算叫做三元運(yùn)算,它和if-else語句類似三元運(yùn)算通常用于對(duì)某個(gè)變量進(jìn)行賦值,當(dāng)判斷條件成立時(shí),運(yùn)算結(jié)果為表達(dá)式1的值,否則結(jié)果為表達(dá)式2的值。語法格式:

判斷條件?表達(dá)式1:表達(dá)式24.1選擇結(jié)構(gòu)—if條件語句(3)if…elseif…else條件語句if…elseif

…else語句用于對(duì)多個(gè)條件進(jìn)行判斷,進(jìn)行多種不同的處理。語法格式:if(判斷條件1){

語句塊1}elseif(判斷條件2){

語句塊2}...elseif(判斷條件n){

語句塊n}else{

語句塊n+1}例子:ifelse多重嵌套從鍵盤輸入兩個(gè)數(shù)x,y代表學(xué)生兩門科目的成績。如果有一門成績不及格(<60)則判定為不通過;否則,如果兩門科目成績平均分>=85,判定為優(yōu)秀,否則平均成績>=70判定為良好,否則判定為及格4.2選擇結(jié)構(gòu)—switch條件語句switch條件語句switch語句也是一種很常見的選擇語句。和if條件語句不同,它只能針對(duì)某個(gè)表達(dá)式的值做出判斷,從而決定執(zhí)行哪一段代碼執(zhí)行到break則從switch中跳出。不要隨意省略break!語法格式見右側(cè)4.2選擇結(jié)構(gòu)—switch條件語句switch條件語句例:使用數(shù)字1~7表示周一到周日,如果想根據(jù)某個(gè)輸入的數(shù)字輸出中文格式的星期值代碼SwitchDemo01SwitchDemo025循環(huán)結(jié)構(gòu)5.1while循環(huán)結(jié)構(gòu)while循環(huán)結(jié)構(gòu)

while循環(huán)語句會(huì)反復(fù)地進(jìn)行條件判斷,只要條件成立,{}內(nèi)的執(zhí)行語句就會(huì)執(zhí)行,直到條件不成立,while循環(huán)結(jié)束。語法格式:WhileDemo01while(循環(huán)條件){

語句塊

}5.2do...while循環(huán)結(jié)構(gòu)do...while循環(huán)結(jié)構(gòu)do...while循環(huán)語句先執(zhí)行{}內(nèi)語句,再進(jìn)行循環(huán)條件的判斷。語法格式:do{

語句塊1}while(循環(huán)條件);WhileDemo025.3for循環(huán)結(jié)構(gòu)for循環(huán)結(jié)構(gòu)一般用于循環(huán)次數(shù)已知的情況語法格式:1——初始化表達(dá)式2——循環(huán)條件3——操作表達(dá)式4——循環(huán)體for(1;2;3){4}for(初始化表達(dá)式;循環(huán)條件;操作表達(dá)式){

執(zhí)行語句

......}ForDemo01一,執(zhí)行1;二,執(zhí)行2,如2為true執(zhí)行三,否則跳出循環(huán)三,執(zhí)行4四,執(zhí)行3,然后跳轉(zhuǎn)到二五,退出循環(huán)5.4嵌套循環(huán)嵌套循環(huán)是指在一個(gè)循環(huán)語句的循環(huán)體中再定義一個(gè)循環(huán)語句的語法結(jié)構(gòu)。while、do…while、for循環(huán)語句都可以進(jìn)行嵌套。最常見的在for循環(huán)中嵌套for循環(huán)for(初始化表達(dá)式;循環(huán)條件;操作表達(dá)式){......

for(初始化表達(dá)式;循環(huán)條件;操作表達(dá)式){

執(zhí)行語句

......}......

}ForDemo025.5跳轉(zhuǎn)語句用于實(shí)現(xiàn)循環(huán)執(zhí)行過程中程序流程的跳轉(zhuǎn)。Java中的跳轉(zhuǎn)語句有break、continue與returnbreak語句用在循環(huán)與switch條件語句中,作用:1.跳出break所在層次的循環(huán);2.終止某個(gè)case并跳出switch結(jié)構(gòu)。continue語句作用:終止本輪循環(huán),進(jìn)行下一次循環(huán)continue下方語句在本輪不再執(zhí)行return語句從當(dāng)前方法跳出,返回到方法調(diào)用處BreakDemo01ContinueDemo016方法6.1方法問題:假設(shè)有一個(gè)游戲程序,程序在運(yùn)行過程中,要不斷地發(fā)射炮彈。發(fā)射炮彈的動(dòng)作需要編寫100行的代碼。在每次實(shí)現(xiàn)發(fā)射炮彈的地方都需要重復(fù)編寫這100行代碼?!绦蛴纺[,可讀性差可以使用方法(method)解決將發(fā)射炮彈的代碼提取出來放在一個(gè){}中,并為這段代碼起個(gè)名字。(形成一個(gè)方法)在每次發(fā)射炮彈的地方通過這個(gè)名字來調(diào)用發(fā)射炮彈的代碼6.1方法在Java中,聲明一個(gè)方法的具體語法格式返回值函數(shù)內(nèi)無return,則使用void。即,無返回值參數(shù)需指定參數(shù)類型。也可以無參數(shù)。方法簽名(methodsignature)方法的名字與參數(shù)可唯一確定一個(gè)方法修飾符返回值方法名([參數(shù)類型參數(shù)名1,參數(shù)類型參數(shù)名2,...]){

執(zhí)行語句

......return返回值;//可選}MethodDemo01、026.1使用方法的注意事項(xiàng)方法的定義與方法的調(diào)用不同方法總是要在類中定義方法中出現(xiàn)return,但未必返回值6.1方法-值調(diào)用值調(diào)用(callbyvalue)Java中的方法對(duì)參數(shù)的調(diào)用總是采用值調(diào)用,即將參數(shù)的值復(fù)制(拷貝)一份在方法內(nèi)使用。因此,方法不能修改傳遞給他的參數(shù)變量的值。x(0x1000)1方法內(nèi)x(0x2000)1拷貝需求假設(shè)要在程序中實(shí)現(xiàn)一個(gè)對(duì)數(shù)字求和的方法,由于參與求和數(shù)字的個(gè)數(shù)和類型都不確定因此要針對(duì)不同的情況去設(shè)計(jì)不同的方法是否真的需要設(shè)計(jì)多個(gè)名字不同的功能相似的方法?6.2方法——方法的重載(overload)可以使用方法的重載解決上述需求什么是重載?一個(gè)類中,可以定義多個(gè)同名方法,但參數(shù)的類型或個(gè)數(shù)不同。即方法簽名不同。6.2方法——方法的重載MethodDemo04、056.2方法——可變輸入?yún)?shù)可變輸入?yún)?shù)調(diào)用方法時(shí),入?yún)⒌臄?shù)量可變定義時(shí)使用3個(gè).。實(shí)際上是將數(shù)量變化的參數(shù)放入一個(gè)數(shù)組。因此參數(shù)類型需一直。7數(shù)組7.1數(shù)組——數(shù)組的定義數(shù)組的定義一組固定長度數(shù)據(jù)的集合;可存放任意類型元素一個(gè)數(shù)組中存放的元素類型必須一致數(shù)組定義的格式,如下:為了更好地理解數(shù)組的定義方式,可以把上述代碼定義為兩行來寫:可使用下標(biāo)訪問數(shù)組元素,如a[index]0≤index取值≤

數(shù)組長度-17.1數(shù)組——數(shù)組的長度數(shù)組的定義以下內(nèi)存圖演示數(shù)組在創(chuàng)建過程中的內(nèi)存分配情況數(shù)組長度:“數(shù)組名.length”0≤

數(shù)組下標(biāo)取值≤

數(shù)組名.length-1ArrayDemo01棧內(nèi)存a->0x1000堆內(nèi)存0x100000102030407.1數(shù)組——數(shù)組的初始化數(shù)組的初始化:當(dāng)數(shù)組被成功創(chuàng)建后,數(shù)組中元素會(huì)被自動(dòng)賦予一個(gè)默認(rèn)值。靜態(tài)初始化:在定義數(shù)組的同時(shí)就為數(shù)組的每個(gè)元素賦值。元素類型默認(rèn)初始值byte,short,int,long0float,double0.0char空字符,'\u0000'booleanfalse引用數(shù)據(jù)類型null,變量不存儲(chǔ)任何引用ArrayDemo02、037.1數(shù)組的遍歷ArrayOperate017.1數(shù)組作為方法參數(shù)方法不能修改參數(shù)的值,但可以修改參數(shù)所指向?qū)ο螅ㄟ@里是數(shù)組)內(nèi)部的值分析:change1中的arr本來指向{0,1,5},在方法內(nèi)arr指向的是另外一個(gè)5個(gè)大小的數(shù)組空間。不會(huì)影響原digits數(shù)組digits015arrArrayDemo047.2數(shù)組的常見操作數(shù)組的最值A(chǔ)rrayOperate027.2數(shù)組的常見操作數(shù)組的排序也可直接使用Arrays.sort方法進(jìn)行排序ArrayOperate037.3多維數(shù)組多維數(shù)組的定義多維數(shù)組可以簡單地理解為在數(shù)組中嵌套數(shù)組在程序中比較常見的就是二維數(shù)組二維數(shù)組的定義:方式一:上面的代碼定義了一個(gè)3行4列的二維數(shù)組,它的結(jié)構(gòu)如下圖所示。xx[0]xx[1]xx[2]xx[0][0]xx[0][1]xx[0][2]xx[0][3]xx[1][0]xx[1][1]xx[1][2]xx[1][3]xx[2][0]xx[2][1]xx[2][2]xx[2][3]intxx[][]7.3多維數(shù)組常見操作int[][]xx=newint[3][4]訪問二維數(shù)組xx第0行第2個(gè)元素:xx[0][2]xx.length為

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論