計(jì)算機(jī)第3章 數(shù)據(jù)成員設(shè)計(jì)_第1頁(yè)
計(jì)算機(jī)第3章 數(shù)據(jù)成員設(shè)計(jì)_第2頁(yè)
計(jì)算機(jī)第3章 數(shù)據(jù)成員設(shè)計(jì)_第3頁(yè)
計(jì)算機(jī)第3章 數(shù)據(jù)成員設(shè)計(jì)_第4頁(yè)
計(jì)算機(jī)第3章 數(shù)據(jù)成員設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章數(shù)據(jù)成員設(shè)計(jì)

與本章介紹Java語(yǔ)言中一些與數(shù)據(jù)成員

有關(guān)的基礎(chǔ)知識(shí):

數(shù)據(jù)的描述方式——標(biāo)識(shí)符、關(guān)鍵

字、數(shù)據(jù)類型、字面量等;

數(shù)據(jù)類型轉(zhuǎn)換(主要針對(duì)基本數(shù)據(jù)

類型);

系統(tǒng)提供的數(shù)據(jù)結(jié)構(gòu)——數(shù)組;

大小可自由伸縮的“數(shù)組”——向

量。

數(shù)據(jù)成貝設(shè)計(jì)

修1數(shù)據(jù)描述

&2數(shù)組

53向量

數(shù)據(jù)描述

?標(biāo)識(shí)符與關(guān)鍵字

,數(shù)據(jù)類型

,數(shù)據(jù)類型轉(zhuǎn)換

,字面量

修變量的作用域與生存期

標(biāo)識(shí)符與關(guān)鍵字

&程序員對(duì)程序中的各個(gè)元素(如變量、方法、類

或標(biāo)號(hào)等)加以命名時(shí)使用的命名、記號(hào)稱為標(biāo)識(shí)

符(identifier)。Java語(yǔ)舌甲,標(biāo)識(shí)符是一不字

符序列,在語(yǔ)法上有如下使用限制:

&(1)必須要以字母,下劃線()或美元符⑸開

頭,后面可以跟字母,下劃線,—美元符或數(shù)字;

9(2)Java是區(qū)分字母的大小寫的,如name和

Name表示的就代裝兩個(gè)不同的琮識(shí)符;

Q(3)不可以單獨(dú)將關(guān)鍵字(Keywords)和保留字作

為標(biāo)識(shí)符

關(guān)鍵字(Keywords)和保留字

abstractconst*finalinstanceofprivateswitchvoid

booleancontinufinallyintprotectedsynchronizedvolatile

e

breakdefaultfloatinterfacepublicthiswhile

bytedofbrlongreturnthrow

casedoublegoto*nativeshortthrows

catchelseifnewstatictransient

charextendsimplementsnull**strictfptrue**

classfalse**importpackagesupertry

數(shù)據(jù)類型

電Java中的數(shù)據(jù)類型(DataTypes)可分為兩大類

5一類稱為基本數(shù)據(jù)類型(PrimitiveData

Types)

修另一類則是復(fù)合數(shù)據(jù)類型(ReferenceData

Types,又稱弓用數(shù)據(jù)類型)

(基本數(shù)據(jù)類型是指一些不可再分割的簡(jiǎn)單數(shù)據(jù)

類型,如整數(shù)、浮點(diǎn)數(shù)、布爾及字符等,復(fù)合

數(shù)據(jù)類型是指那些由基本數(shù)據(jù)類型組合成的較

復(fù)雜的數(shù)據(jù)類型

數(shù)據(jù)類型的分類表

整型

廠基本數(shù)據(jù)類型工浮點(diǎn)型

字符型

布爾型

數(shù)據(jù)類型《

數(shù)組

I復(fù)合數(shù)據(jù)類型工類

接口

數(shù)據(jù)類型的意義

Q對(duì)數(shù)相進(jìn)行規(guī)范化地存儲(chǔ),即將藜據(jù)按不同的存

儲(chǔ)規(guī)整劃分有限莓級(jí)種類,減少存儲(chǔ)的復(fù)雜性;

電確定數(shù)據(jù)值的范圍,以作為數(shù)據(jù)有效性檢查的一

個(gè)項(xiàng)目;

&確定數(shù)據(jù)的表示精度,以滿足不同的需求;

&確定數(shù)據(jù)可以進(jìn)彳[的運(yùn)算種類,以檢查運(yùn)算的合

法性和數(shù)據(jù)的完整性,如0不可作除數(shù)等

Java中的基本數(shù)據(jù)類型

占用內(nèi)

數(shù)據(jù)類型名數(shù)值范圍說(shuō)明

存空間

整數(shù)byte1字節(jié)-27?27-1

有符號(hào)數(shù),

short2字節(jié)-2715-1二進(jìn)制

int4字節(jié)-231?231-1補(bǔ)碼形

式表示

long8字節(jié)-263?263公

實(shí)數(shù)float4字節(jié)(±3.4028235E+38f)?(土1,40239846E-45f)

遵循EEE

(±1.79769313486231570E+308)?

double8字節(jié)754規(guī)范

(±4.94065645841246544E-324)

其他char2字節(jié)\uOOOO-\uffffUnicode字符

boolean1位true或false布爾型

整數(shù)類型

整數(shù)類型指的是沒(méi)有小數(shù)部分的數(shù)

值,Java提供了4種整數(shù)類型——

byte、short>int和long,它們分別具

有8位、16位、32位及64位的寬度,

并且均是有符號(hào)的。其中int型是最

實(shí)用的,byte和short型主要應(yīng)用于一

些特殊的情況

浮點(diǎn)類型

浮點(diǎn)類型指的是包含小數(shù)部分

的數(shù)值,Java提供了兩種浮點(diǎn)類

型一float型和double型。float代

表的是單精度的浮點(diǎn)數(shù)(6?7個(gè)

肴效的小迸制雙位),而double

代表的是雙精度的浮點(diǎn)數(shù)(15個(gè)

有效的十進(jìn)制數(shù)位)

字符類型

{字符類型表示Unicode編碼方案中的單個(gè)字

符。Unicode編碼方案將各個(gè)主要字符集的

字符統(tǒng)一編碼于一個(gè)體系。

&每個(gè)Unicode字符占用2個(gè)字節(jié)(16位)的

存儲(chǔ)空間,通常用十六進(jìn)制編碼表示,<

圍在‘\u000(r到‘\uFFFF之間。\u前綴標(biāo)

志著這是一個(gè)Unicode值,而4個(gè)十六進(jìn)福

數(shù)位代表實(shí)際的Unicode字符編碼

布爾類型

。布爾類型只有兩種可能的取值:

true(代表“真”)

false(代表“假”)

它主要進(jìn)行邏輯測(cè)試

復(fù)合數(shù)據(jù)類型

。復(fù)合數(shù)據(jù)類型包括數(shù)組、類

(class)和接口(interface),

這些內(nèi)容將在后繼章節(jié)中詳細(xì)進(jìn)

行介紹

數(shù)據(jù)類型轉(zhuǎn)換

&數(shù)據(jù)類型轉(zhuǎn)換就是改變數(shù)據(jù)的類型,它

可以隱式地(即由系統(tǒng)主動(dòng))或顯式地

(即根據(jù)用戶明確的要求)進(jìn)行

&Java的數(shù)據(jù)類型轉(zhuǎn)換有嚴(yán)格的規(guī)定:凡是

將數(shù)據(jù)從占用內(nèi)存較少的短數(shù)據(jù)類型轉(zhuǎn)

換為占用內(nèi)存較多的長(zhǎng)數(shù)據(jù)類型時(shí),可

以不做顯式的類型轉(zhuǎn)換說(shuō)明;反之則必

須做顯式(強(qiáng)制)類型轉(zhuǎn)換

自動(dòng)類型轉(zhuǎn)換(conversion)

修整型、實(shí)型、字符型數(shù)據(jù)可以混

合運(yùn)算。運(yùn)算過(guò)程中,不同類型

的數(shù)據(jù)會(huì)自動(dòng)轉(zhuǎn)換為同一類型,

然后進(jìn)行運(yùn)算

修自動(dòng)類型轉(zhuǎn)換按低級(jí)類型數(shù)據(jù)轉(zhuǎn)

換成高級(jí)類型數(shù)據(jù)的規(guī)則進(jìn)行

類型級(jí)別圖

&基本數(shù)據(jù)類型的自動(dòng)類型轉(zhuǎn)換會(huì)在下面三種情形下發(fā)生

(1)賦值

(2)方法調(diào)用

(3)算術(shù)提升此時(shí)又分兩種情況:

(a)對(duì)一元運(yùn)算符(除了++和--運(yùn)算符不進(jìn)行自動(dòng)

類型轉(zhuǎn)換之外)來(lái)說(shuō),假設(shè)操作數(shù)的類型為byte、short或

char,都將自動(dòng)轉(zhuǎn)換為int型;

(b)對(duì)二元運(yùn)算符來(lái)說(shuō),假設(shè)有一個(gè)操作數(shù)類型為

double,其它操作數(shù)就自動(dòng)轉(zhuǎn)換為double型;否則假設(shè)有

一個(gè)操作數(shù)類型為float,其它操作數(shù)就自動(dòng)轉(zhuǎn)換為float型;

否則假設(shè)有一個(gè)操作數(shù)類型為long,其它操作數(shù)就自動(dòng)

轉(zhuǎn)班為long型;否貝I兩個(gè)操作敢都會(huì)自動(dòng)轉(zhuǎn)瘓用int型。

自動(dòng)類型轉(zhuǎn)換的例子

publicclassPromotion{

publicstaticvoidmain(Stringargs[]){

byteb=18;

charc='a';

inti=20;

longI=555I;

floatf=3.5f;

doubled=1.88;

floatf1=f*b;//fIoat*byte->fIoat

inti1=c+i;//char+int->int

long11=I+i1;//long+int->long

doubled1=f1/i1-d;//float/int->float,float-double->double

System.out.println(Hf1="+f1);

System.out.println(,,i1="+i1);

System.out.println(MM=n+11);

System.out.println(Md1=,,+d1);

)

)

運(yùn)行結(jié)果

fl=63.0

il=117

11=672

dl=-l.3415384340286254

強(qiáng)制類型轉(zhuǎn)換(casting)

,將占用內(nèi)存較多的數(shù)據(jù)類型轉(zhuǎn)換成

占用內(nèi)存較少的數(shù)據(jù)類型時(shí),必須

用到強(qiáng)制類型轉(zhuǎn)換

其一般形式為:

(類型名)(表達(dá)式)

修其中類型名是你希望將表達(dá)式轉(zhuǎn)換

成的結(jié)果類型的名稱

強(qiáng)制類型轉(zhuǎn)換的例子

publicclassCasting{

publicstaticvoidmain(Stringargs[]){

inti;

byteb;

i=356;

b=(byte)i;II強(qiáng)制轉(zhuǎn)換后丟失一部分?jǐn)?shù)據(jù),使得b的值為100

System.out.println(,,i="+i);

System.out.printlnC'b^+b);

byteb2=++b;

System.out.println(,,b2=*,+b2);

byteb3=(byte)(b+b2);

〃此處的強(qiáng)制類型轉(zhuǎn)換上必須的,因?yàn)閮蓚€(gè)byte型數(shù)據(jù)相

〃加的結(jié)果是int型。

System.outprintln("b3=',+b3);

)

)

運(yùn)行結(jié)果

i=356

b=100

b2=101

b3=-54

字面量

字面量(Literals)是某些類型的

基本表述,它在源程序中定義,

可以出現(xiàn)在賦值運(yùn)算的右邊或方

法調(diào)用中,但不能出現(xiàn)在賦值運(yùn)

算的左邊,也就是說(shuō),不能為字

面量分配值。

整型字面量

%整型字面量有三種表達(dá)形式:十

進(jìn)制、八進(jìn)制和十六進(jìn)制

修其中十進(jìn)制是默認(rèn)的表達(dá)形式,

它的第一個(gè)數(shù)字不能是0。用八

進(jìn)制表達(dá)的時(shí)候應(yīng)加上前綴“0”,

用十六進(jìn)制表達(dá)的時(shí)候則應(yīng)加上

前綴“Ox”或“0X”

浮點(diǎn)型字面量

%一個(gè)浮點(diǎn)型字面量描述了一個(gè)浮點(diǎn)

數(shù),它有兩種表示形式:

(1)一般表示法由數(shù)字和小數(shù)點(diǎn)

組成,且必須有小數(shù)點(diǎn)

(2)指數(shù)表示法如123e3、123E3

或1.23e3,其中e或E之前必須有數(shù)字,

且e或E后面的指數(shù)必須為整數(shù)

字符型字面量

%字符型字面量常用一對(duì)單引號(hào)括起來(lái)的

單個(gè)寶符表示"崖個(gè)字符可以是能直接

從鍵嘉輸入的字符,如‘N、'0'

或'!'

%可以是要表示的字符所對(duì)應(yīng)的八進(jìn)制藜

(此時(shí)只能表示,\00(T6377,范圍內(nèi)的

字符,即Unicode字符集中的ASCII碼部

分)或Unicode字符

&還可以是換碼序列(用來(lái)表示特殊字符)

特殊字符

換碼序列名稱Unicode值

\b退格\u0008

\tTab(制表)\u0009

\n換行\(zhòng)u000a

\f走紙換頁(yè)\u000c

\r硬回車\u000d

雙引號(hào)\u0022

\'單引號(hào)\u0027

\\反斜杠\u005c

布爾型字面量

修有效的布爾型字面量只有兩個(gè):

true和false,分別代表了“真”

和“假”,它們不對(duì)應(yīng)于任何整

數(shù)值

字符串字面量

白字符串字面量是用一對(duì)雙引號(hào)括

起來(lái)的0個(gè)或多個(gè)字符的序列,

在Java中每個(gè)字符串字面量都被

看作是一個(gè)字符串對(duì)象而并非是

一個(gè)字符數(shù)組

變量的作用域與生存期

%變量(variables)記錄了對(duì)象的

狀態(tài),它用來(lái)存放指定類型的數(shù)

據(jù),其值在程序運(yùn)行過(guò)程中是可

變的

變量的三要素

修變量具有三要素:名稱、類型和作用域

與變量名是用來(lái)標(biāo)識(shí)該變量的,存取變量

的內(nèi)容(變量的值)都是通過(guò)變量名來(lái)

&變量的數(shù)據(jù)類型決定了該變量可能的取

值范圍和允許對(duì)這些值進(jìn)行哪些操作,

以及這些操作的意義是什么

%年個(gè)變量都有一定的使用范圍,變量的

住用范圍又稱為變量俞作用域

變量的聲明

。在使用Java中的每個(gè)變量之前,

都必須對(duì)它進(jìn)行聲明。變量的聲

明形式如下:

變量類型變量名〔,變量名

變量的類別

,變量可歸納為以下4種類別:

成員變量(membervariables)

局部變量(Localvariables)

方法參數(shù)(methodparameter)

異常處理參數(shù)(exception-handler

parameter)

,成員變量是類或?qū)ο蟮某蓡T,它是在類

中、但不是在類的某個(gè)方法中聲明的變

量。成員變量的作用域是整個(gè)類,在類

的方法中也可使用它們

,局部變量是在一個(gè)語(yǔ)句塊(由一對(duì)花括

號(hào)括起)中聲明的,并且不能被該塊外

的代碼使用。例如,任何在方法中定義

的變量就是一個(gè)局部變量,它只能在聲

明它的方法中使用

&方法參數(shù)是方法(或構(gòu)造方法)的變?cè)?

用于將相應(yīng)的數(shù)據(jù)傳遞給方法(或構(gòu)造

方法)。方法參數(shù)的作用域是它作為參

數(shù)的整個(gè)方法(或構(gòu)造方法)

&異常處理參數(shù)是異常處理代碼(而不是

方法或構(gòu)造方法)的變?cè)?,用于將相?yīng)

的數(shù)據(jù)傳遞給異常處理代碼。異常處理

參數(shù)的作用域是/目應(yīng)的catch語(yǔ)句隹

修具體用法將在第5章中進(jìn)行介紹。

變量的作用域

演示不同種類變量的作用域例子

classMethodDemo6{

floatxxx;〃類的成員變量xxx

floataaa(floatX,floaty){〃*和丫是aaa的方法參數(shù),作用域是方法aaa

floatxxx;/*在aaa方法中聲明了與類的成員變量xxx

同名的局部變量xxx,則在aaa的方法體中,xxx指的是局部變量7

xxx=x+y;〃此處的xxx指的是方法aaa的局部變量

returnxxx;

)

voidbbb(floatx){〃x是bbb的方法參數(shù),作用域是方法bbb

xxx=x;〃此處的xxx指的是類的成員變量

}

)

classTryMethodDemo6{〃主類

publicstaticvoidmain(Stringargs[]){

MethodDemo6a=newMethodDemo6();

System.out.printin("方法aaa中總部變量xxx的值為:

"+a.aaa(5,8));

System.out.println("執(zhí)行方法aaa后,類的成員變量

a.xxx="+a.xxx);

a.bbb(8);

System.out.printin("執(zhí)行方法bbb后,類的成員變量

a.xxx="+a.xxx);

)

)

運(yùn)行結(jié)果

方法aaa中局部變量xxx的值為:13.0

執(zhí)行方法aaa后,類的成員變量a.xxx=0.0

執(zhí)行方法bbb后,類的成員變量a.xxx=8.0

最終變量

與最終變量(finalvariables)是指在程

序運(yùn)行過(guò)程中其值不變的量,它就

類似于一些程序設(shè)計(jì)語(yǔ)言中的“常

量”。定義最疼變量的方式有兩種:

(1)在聲明變量的類型前面加final

關(guān)鍵字,并同時(shí)進(jìn)行初始化

(2)在聲明變量的類型前面加final

關(guān)鍵字,在必要時(shí)再進(jìn)行初始化

數(shù)組

%前面介紹的變量是用一個(gè)名字(變量名)

來(lái)標(biāo)識(shí)一個(gè)基本數(shù)埔類型的數(shù)據(jù),而在

現(xiàn)實(shí)問(wèn)題小,經(jīng)常婁要求處理一組數(shù)據(jù)

%使用數(shù)組則可以用一個(gè)名字標(biāo)識(shí)一組數(shù)

據(jù)

修數(shù)組是相同類型的數(shù)據(jù)元素按順序組成

的一種復(fù)合數(shù)據(jù)類型,元素在數(shù)組中的

相對(duì)位置由下標(biāo)來(lái)指明

幾個(gè)術(shù)語(yǔ)

5(1)數(shù)組名

數(shù)組名應(yīng)該符合Java語(yǔ)言標(biāo)識(shí)符的命名規(guī)則

修⑵數(shù)組的類型

因?yàn)閿?shù)組是用來(lái)存儲(chǔ)相同類型的數(shù)據(jù),因此數(shù)

組的類型就是其所存儲(chǔ)的元素的數(shù)據(jù)類型

修⑶數(shù)組的長(zhǎng)度

數(shù)組的長(zhǎng)度指的是數(shù)組中可以容納的元素的個(gè)

數(shù),而不是數(shù)組所占用的字節(jié)數(shù)

數(shù)組作為數(shù)據(jù)類型的特點(diǎn)

,一個(gè)數(shù)組中所有的元素應(yīng)該是同

一類型

,數(shù)組中的元素是有順序的

白數(shù)組中的一個(gè)元素通過(guò)數(shù)組名和

數(shù)組下標(biāo)來(lái)確定

一維數(shù)組

。一維數(shù)組的聲明(declaration)與

倉(cāng)U建(creating)

,一維數(shù)組的初始化(initializtion)

。一維數(shù)組元素的使用

一維數(shù)組的聲明

勺數(shù)組聲明的格式為:

類型數(shù)組名[1;

,其中類型指出了數(shù)組中各元素的數(shù)

據(jù)類型,包括基本類型和復(fù)合類型。

數(shù)組名為一個(gè)標(biāo)識(shí)符?!埃蹚S部分指

明該變量是一個(gè)數(shù)組類型變量

數(shù)組的創(chuàng)建

修為數(shù)組元素分配存儲(chǔ)空間,同時(shí)

對(duì)數(shù)組元素進(jìn)行初始化。new語(yǔ)

句指明了分配類型以及由一個(gè)正

整數(shù)表示的數(shù)組長(zhǎng)度,其格式如

下:

數(shù)組名:new數(shù)組元素類型〔數(shù)組長(zhǎng)度];

一維數(shù)組的初始化

V數(shù)組初始化就是為數(shù)組元素指定初

始褶

與通常在創(chuàng)建數(shù)組時(shí),Java會(huì)根據(jù)數(shù)組

類型使每個(gè)數(shù)組元素初始化為一個(gè)

默認(rèn)值,但在許多情況下,并不希

望數(shù)組的初值為默認(rèn)值,此時(shí),就

需要由用戶根據(jù)實(shí)際情況來(lái)對(duì)數(shù)組

進(jìn)行初始化

數(shù)組的初始化方式

C像初始化簡(jiǎn)單類型一樣自動(dòng)初始化數(shù)組,

即在聲明數(shù)組的同時(shí)進(jìn)行初始化

例如:inta[]={123,4,5};

%在聲明之后再創(chuàng)建數(shù)組,然后為每個(gè)元

素賦值

例如:inta[]=newint[2];

a[O]=l;

a[l]=2;

一維數(shù)組元素的使用

%聲明了一個(gè)數(shù)組,并用new語(yǔ)句為它

分配了內(nèi)存空間后,就可以在程序

中像使用任何變量一樣來(lái)使用數(shù)組

元素,即可以在任何允許使用變量

的地方使用數(shù)組元素。

與數(shù)組元素的標(biāo)識(shí)方式為:

數(shù)組名[下標(biāo)]

注意點(diǎn)

1)其中下標(biāo)為非負(fù)的整型常數(shù)

或表達(dá)式

2)數(shù)據(jù)類型只能為byte,short,

int,而不能為long

3)下標(biāo)的取值范圍從0開始,-

直到數(shù)組的長(zhǎng)度減1

給數(shù)組中元素賦值,逆序輸出

publicclassArrayTest{

publicstaticvoidmain(Stringargs[]){

inti;

inta[]=newint[5];

System.out.printin("該數(shù)組的長(zhǎng)度為:"+a.length);

for(i=0;i<a.length;i++)〃對(duì)數(shù)組中的每個(gè)元素賦值

a[i]=i;

for(i=a.length-1;i>=0;i--)〃按逆序輸出

System.outprintln("a["+i+,,]="+a[i]);

)

)

冒泡排序法對(duì)一維數(shù)組按值排序

publicclassBubbleSort{

publicstaticvoidmain(Stringargs[]){

inti,j;

intintArray[]={28,6,-9,72,-18};

intlen=intArray.length;〃取得數(shù)組長(zhǎng)度,放在變量len中

for(i=1;i<len;i++)〃共比較len-1趟

for(j=0;j<=len-i-1;j++)

if(intArray[j]>intArray[j+1]){

intt=intArray[j];

intArraylj]=intArray[j+1];

intArray[j+1]=t;

)

System.out.println("排序后的結(jié)果為:");

for(i=0;i<len;i++)〃輸出結(jié)果

System.out.println(intArray[i]+"");

)

}

多維數(shù)組(multi-dimensional

arrays)

在Java中并不直接支持多維數(shù)組,

所以,多維數(shù)組的聲明是通過(guò)對(duì)

一維數(shù)組的嵌套式聲明來(lái)實(shí)現(xiàn)的,

即用“數(shù)組的數(shù)組”來(lái)聲明多維

數(shù)組。

二維數(shù)組的聲明與創(chuàng)建

,二維數(shù)組聲明的格式為:

類型數(shù)組名口口;

修分配內(nèi)存空間有下面幾種方法

⑴直接為每一維分配空間

⑵從最高維開始,分別為每一維

分配空間

二維數(shù)組元素的初始化

,直接對(duì)每個(gè)元素進(jìn)行賦值

。在聲明數(shù)組的同時(shí)進(jìn)行初始化

二維數(shù)組元素的引用

白對(duì)二維數(shù)組中每個(gè)元素,其引用

方式為:

數(shù)組名「下標(biāo)1][下標(biāo)2]

,其中下標(biāo)1、下標(biāo)2為非負(fù)的整型

常數(shù)或表達(dá)式。

一個(gè)二維數(shù)組中所有元素的和,

并找出最大、最小元素(值以及其

所在的行號(hào)和列號(hào))

classMatrix2{

publicstaticvoidmain(Stringargs[]){

intm[][]={{6}2,24},{-5,8,7,6},{-3,-18,-4,1,66}};

introw=0;

intcol=0;//放最大元素的行號(hào)和列號(hào)

introw2=0;

intcol2=0;〃放最小元素的行號(hào)和列號(hào)

intmax,min,sum=0;

max=m[0][0];

min=m[0][0];

System.outprintln("該二維數(shù)組中的最高維數(shù)為:"+m.length);

System.out.println(“該二維數(shù)組中的元素有:”);

for(inti=O;i<m.length;i++){〃輸出該二維數(shù)組中的所有元素

for(intj=O;j<m[i].length;j++)

System.outprint(m[i][j]+"\t");

System.out.println();

)

System.out.println();

for(inti=O;i<m.length;i++){

for(intj=O;j<m[i].length;j++){

sum+=m[i][j];

if(m[i][j]>max){

max=m[i][j];

row=i;

col=j;

}

if(m[i][j]<min){

min=m[i][j];

row2=i;

col2=j;

)

}

)

System.out.printlnC1所有元素的和為:"+sum);

System.out.printlnC1最大的元素的值為:"+max);

System.out.println,'該元素的位置在:n+row+"行,"+col+"歹『');

System.out.printlnC1最小的元素的值為:"+min);

System.out.printlnj”該元素的位置在:"+row2+“行,"+col2+"列”);

)

)

不對(duì)稱數(shù)組的例子

publicclassarrayPins{

staticpublicvoidmain(Stringargs[]){

booleanpins[][]=newboolean[4][];II僅聲明第

一■維

for(inti=0;i<pins.length;i++)

pins[i]=newboolean[i+1];II建立第二維

for(inti=0;i<pins.length;i++){II輸出結(jié)果

for(intk=0;k<pins[i].length;k++)

System.out.print(pins[i][k]+"");

System.outprintln("");

)

)

)

數(shù)組的應(yīng)用

,數(shù)組元素的排序和搜索

。數(shù)組的復(fù)制

數(shù)組元素的排序和搜索

?Arrays類中包含了許多處理數(shù)組

的方法。例如,它提供了sort()

方法可以對(duì)數(shù)組元素進(jìn)行排序,

提供了binarySearch()方法可以在

一個(gè)指定的數(shù)組中查找一個(gè)指定

的值

正確地使用方法,需含如下步驟

4使用importjava.util.*;語(yǔ)句,可以讓

java.util包中的所有的類在程序中都

可以使用(Arrays類就在util包中)

,創(chuàng)建一個(gè)數(shù)組

修使用util包中Arrays類的方法來(lái)重新

調(diào)整一個(gè)數(shù)組的數(shù)據(jù)

sort()方法來(lái)對(duì)一個(gè)字符串?dāng)?shù)組進(jìn)

行排序

importjava.util.*;//讓java.util包中的所有的類在程序中都可以使用

classSortName{

publicstaticvoidmain(Stringargs[]){

Stringnames[Isf'Tom","Merry",'?Peter","Jack","Rose");

System.out.printlnC'數(shù)組元素原黍的順序是:");

for(inti=O;i<names.length;i++)

System.out.println(i+":"+names[i]);

Arrays.sort(names);〃使用Arrays美的sort。方法為數(shù)組names排序

System.out.printing數(shù)組元素現(xiàn)在的順序是巧;

for(inti=0;i<names.length;i++)

System.out.println(i+":,,+names[i]);

)

)

數(shù)組的復(fù)制

白如果要將一個(gè)數(shù)組的內(nèi)容復(fù)制到

另一個(gè)數(shù)組中,就需要采用Java

提供的System類中的arraycopy()

方法

其語(yǔ)法形式

&publicstaticvoidarraycopy(Objectsrcjnt

src_position,Objectdst9intdst_position9intlength)

&其中,參數(shù)src表示源數(shù)組

參數(shù)dst表示目標(biāo)數(shù)組

參數(shù)src_position表示源數(shù)組的起始位置

參數(shù)dst_position表示目標(biāo)數(shù)組的起始拷貝位置

參數(shù)length表示拷貝數(shù)組元素的個(gè)數(shù)

它從源數(shù)組c的指定位置srcposition開始,拷

貝揖目標(biāo)數(shù)組dst的指定位直dst_position

向量

&向量對(duì)象可以看作是一個(gè)大小可自由伸

縮的數(shù)組,當(dāng)其中的元素個(gè)數(shù)大于默認(rèn)

值的時(shí)候,其容量的大小會(huì)自動(dòng)增加

%與數(shù)組類似的是,向量對(duì)象同樣可以通

過(guò)下標(biāo)來(lái)取出其中的元素,而且它的下

標(biāo)值也是從0開始

&Java在java.util包中專門提供了一個(gè)類一

Vector類來(lái)實(shí)現(xiàn)向量。

三種常用的構(gòu)造方法

&publicVector()

&publicVector(intinitialcapacity)

&publicVector(intinitialcapacity,

intcapacityIncrement)

Vector類的常用方法及其說(shuō)明

方法說(shuō)明

publicbooleanadd(Objecto)將指定對(duì)象追加到當(dāng)前Vector對(duì)象的末尾。

publicvoidadd(intindex,Objectelement)將指定對(duì)象element插入到當(dāng)前Vector對(duì)象的指定位置處。

publicintcapacity()返回Vecto「對(duì)象的當(dāng)前容量。

publicvoidclear()將所有的元素從當(dāng)前Vector對(duì)象中移去。

publicbooleancontains(Objectelem)測(cè)試當(dāng)前Vector■對(duì)象中是否包含指定的對(duì)象。

publicvoidcopy!nto(Object||anArray)將當(dāng)前Vector對(duì)象中的每一個(gè)元素復(fù)制到指定的數(shù)組中去。

publicObjectfirstElement()返回當(dāng)前Vector對(duì)象中的笫一個(gè)元素(其下標(biāo)值為0)。

publicObjectlastElement()返回當(dāng)前Vector對(duì)象中的最后一個(gè)元素。

publicObjectget(intindex)返回當(dāng)前Vector對(duì)象中指定位置上的元素。

publicintindexOf(Objectelem)返回當(dāng)前Vector■對(duì)象中指定對(duì)象elem首次出現(xiàn)的位置,找不到則返回-1。

publicbooleanisEmpty()測(cè)試當(dāng)前Vecto「對(duì)象是否為空。

publicObjectremove(intindex)將指定位置的元素從當(dāng)前Vector對(duì)象中移去。

publicbooleanremove(Objecto)刪除當(dāng)前Vecto「對(duì)象中首次出現(xiàn)的指定對(duì)象,若當(dāng)前Vector對(duì)象包含該指定對(duì)象則返

回true。

protectedvoidremoveRange(intfromlndex,刪除當(dāng)前Vecto「對(duì)象中從fromlndex位置開始,到tolndex?1位置的所有元素。

inttolndex)

publicvoidremoveAIIEIenients()刪除Vector對(duì)象中的所有元素,并將其大小重置為0。

publicObjectset(intindex,Objectelement)將Vector對(duì)象中指定位置上的元素置換為指定對(duì)象element。

publicintsize()返回Vector對(duì)象中元素的數(shù)目o

publicvoidtrimToSize()將當(dāng)前Vector對(duì)象的容量調(diào)整為與其元素個(gè)數(shù)相同。

SuccesswithMoneyandJoy

附落人生心語(yǔ)

?成功是一種觀念

?致富是一種義務(wù)

?快樂(lè)是一種權(quán)利

?每個(gè)人都有能力、有義

務(wù)、有權(quán)利辦到成功

致富快樂(lè)

附贈(zèng)人生心語(yǔ)

成成功不是打敗別人

功成功不是超越別人

成功不是名、利、權(quán)的獲得

致?lián)碛薪】档纳眢w

豐足的物質(zhì)生活

富平衡的心理狀態(tài)

又才能擁有成功

快SuccesswithMoneyandJoy

戰(zhàn)勝自己

樂(lè)貢獻(xiàn)自己

扮演好自己的歷史角色

才能超越自己

融入成功里

附贈(zèng)人生心語(yǔ)

知人者智,自知者明,勝人者力,自

勝者強(qiáng)。

——老子

附贈(zèng)人生心語(yǔ)

?成功必須靠百分之九十八的辛勤血

汗,加上百分之二的天才靈感。

?世界上注定只有百分之二十的人會(huì)成

功。

附贈(zèng)人生心語(yǔ)

成猶太諺語(yǔ)中有一句名言,

功會(huì)傷人的東西有三個(gè):苦惱、爭(zhēng)吵、空的錢包。

其中最傷人的是——空的錢包。

致金錢本身并沒(méi)有善惡,

但沒(méi)有錢,

富卻的確是一件不幸的事情。

又所以,我們必須學(xué)習(xí)

快SuccesswithMoneyandJoy

重視財(cái)富,

樂(lè)管理財(cái)富,

更重要的是栗學(xué)會(huì)

正確地

使用自己的財(cái)富。

附贈(zèng)人生心語(yǔ)

重財(cái)---重視自己的財(cái)富

孔子說(shuō):“不義而富且貴于我如浮云?!敝灰?/p>

是正正當(dāng)當(dāng)?shù)腻X,都應(yīng)該被珍惜、被重視。

附贈(zèng)人生心語(yǔ)

理財(cái)-----管理自己的財(cái)富

在貧苦和缺錢里掙扎的人,都有一個(gè)共同的特

點(diǎn),就是不會(huì)理財(cái),甚至不懂什么是理財(cái)。

附磨人生心語(yǔ)

增貝才----增加自己的財(cái)富

勞務(wù)收入

收入卜

財(cái)務(wù)收入

附霜人生心語(yǔ)

守貝才-----保護(hù)自己的財(cái)富

守財(cái)三原則:

?不賭錢

?不借錢

?不投資做生意

附贈(zèng)人生心語(yǔ)

功春有百花秋有月,夏有涼風(fēng)冬有雪

致若無(wú)閑事掛心頭,便是人間好時(shí)節(jié)

又Suc

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論