語言的基本特性,包括變量赂弓,基本數(shù)據(jù)類型,數(shù)組搬男,運(yùn)算符和控制流拣展。
變量(Variables)
一個(gè)對(duì)象將狀態(tài)存儲(chǔ)在域(字段)中,在Java中也會(huì)使用術(shù)語“變量”來表示缔逛。
int cadence = 0;
int speed = 0;
int gear = 1;
學(xué)習(xí)對(duì)象的概念時(shí)备埃,介紹了字段。但您可能還有幾個(gè)問題褐奴,例如:
- 命名字段有什么規(guī)則和約定按脚?
- 除了int,還有什么其他數(shù)據(jù)類型敦冬?
- 是否必須在聲明時(shí)初始化字段辅搬?
- 如果字段未顯式初始化,字段是否會(huì)被分配了默認(rèn)值?
注意:filed翻譯成域或者字段堪遂,variables翻譯成變量介蛉,在Java編程語言中,“字段”和“變量”這兩個(gè)術(shù)語很容易被混淆溶褪,因?yàn)樗鼈兺ǔK坪踔傅氖峭粋€(gè)東西(后面講兩者該如何區(qū)分)币旧。
Java編程語言定義了以下幾種變量:
-
Instance Variables (Non-Static Fields)實(shí)例變量(非靜態(tài)字段)
從技術(shù)上講,非靜態(tài)字段就是沒有聲明static關(guān)鍵字的字段猿妈。非靜態(tài)字段也稱為實(shí)例變量吹菱,因?yàn)樗鼈兊闹祵?duì)于類的每個(gè)實(shí)例(每個(gè)對(duì)象)是唯一的;一輛自行車的currentSpeed與另一輛自行車的currentSpeed是獨(dú)立不相關(guān)的彭则。 -
Class Variables (Static Fields)類變量(靜態(tài)字段)
類變量是使用了static修飾符聲明的字段鳍刷;它告訴編譯器,不管這個(gè)類被實(shí)例化多少次俯抖,這個(gè)變量只有一份输瓜。如果某種特定種類的自行車的齒輪數(shù)量是相同的,那么這個(gè)自行車類表示齒輪數(shù)量的字段可以被標(biāo)記為靜態(tài)字段:static int numGears = 6蚌成。另外前痘,可以添加關(guān)鍵字final來表示齒輪的數(shù)量將保持不變。 -
Local Variables局部變量
類的方法通常將其臨時(shí)狀態(tài)存儲(chǔ)在局部變量中担忧。聲明局部變量的語法與聲明字段一樣(例如芹缔,int count = 0;),沒有特殊的關(guān)鍵字將變量指定為局部變量瓶盛。一個(gè)變量是不是局部變量最欠,看這個(gè)變量被聲明的位置是不是在類的方法。因此惩猫,局部變量僅對(duì)它們被聲明的方法可見芝硬;類的其余部分不能訪問它們。 -
Parameters參數(shù)
您已經(jīng)在Bicycle類的main()方法中看到過參數(shù)的示例:public static void main(String [] args)轧房。這里拌阴,args變量是此方法的參數(shù)。注意奶镶,參數(shù)總是被分類為“變量”而不是“字段”迟赃。這也適用于其他參數(shù)接收結(jié)構(gòu)(例如構(gòu)造函數(shù)和異常處理程序)。
字段和變量這兩個(gè)術(shù)語很容易混淆厂镇,在討論字段和變量時(shí)使用以下準(zhǔn)則:
如果我們談?wù)摗耙话愕淖侄巍保ú话ň植孔兞亢蛥?shù)纤壁,即上面4種變量的前兩種),我們可以說“字段”捺信。 如果討論適用于“上述所有”酌媒,我們說“變量”。 如果上下文要求區(qū)分,我們可以適當(dāng)?shù)厥褂锰囟ǖ男g(shù)語(靜態(tài)字段秒咨,局部變量等)喇辽。
你可能有時(shí)還會(huì)看到“成員”member一詞。 字段雨席,方法和嵌套類型統(tǒng)稱為類的成員茵臭。
變量的命名
Java命名變量的規(guī)則和約定可以總結(jié)如下:
變量名稱區(qū)分大小寫,長度不限舅世。
不允許使用空格。
命名名稱不能是關(guān)鍵字或保留字奇徒。
-
變量名的首字符可以是:
- 字母
- 美元符號(hào)“$”
- 下劃線字符“_”
我們約定始終以字母作為您的變量名的開頭雏亚,而不是“$”或“_”。一般來說美元符號(hào)字符在命名中從未使用過摩钙。您可能會(huì)發(fā)現(xiàn)在某些情況下罢低,自動(dòng)生成的名稱可能會(huì)包含美元符號(hào),但您自己定義的變量名稱應(yīng)該避免使用它胖笛。下劃線字符也是類似的网持。用“$”和“_”開始的變量名是合法的汪诉,但不鼓勵(lì)這種做法隆嗅。
后續(xù)字符可以是字母,美元符號(hào)毫别,下劃線字符身弊,數(shù)字辟汰。變量名稱使用全詞,不要用隱晦的縮寫阱佛,這樣可以使代碼更容易閱讀和理解帖汞。例如,cadence, speed和gear比縮寫s凑术,c和g更直觀翩蘸。
如果您的變量命名的名稱只包含一個(gè)詞,請(qǐng)用小寫字母拼寫整個(gè)單詞淮逊,例如cadence和speed催首;如果由多個(gè)單詞組成,則第一個(gè)詞全小寫壮莹,后面每個(gè)詞的首字母大寫翅帜,例如gearRatio和currentGear;如果變量存儲(chǔ)一個(gè)常量值命满,大寫每個(gè)字母涝滴,并用下劃線字符分隔后續(xù)單詞,例如static final int NUM_GEARS = 6。按照前面的約定歼疮,下劃線字符不在其他地方使用杂抽。
基本數(shù)據(jù)類型(Primitive Data Types)
A primitive type is predefined by the language and is named by a reserved keyword. Primitive values do not share state with other primitive values.
Java編程語言是靜態(tài)的,這意味著所有變量必須先聲明韩脏,然后才能使用缩麸,包括聲明變量的類型和名稱,如您所見:
int gear = 1;
這行代碼會(huì)告訴程序赡矢,一個(gè)名為“gear”的字段用于保存的數(shù)據(jù)類型是數(shù)字杭朱,并且初始值為“1”。 變量的數(shù)據(jù)類型決定了其可能包含的值吹散,以及可對(duì)其執(zhí)行的操作弧械。
Java編程語言支持八種基本數(shù)據(jù)類型:
byte
short
int
long
float
double
boolean
char
除了上面的8種基本數(shù)據(jù)類型之外,Java還通過java.lang.String類提供對(duì)字符串的特殊支持空民。 將字符串括在雙引號(hào)中將自動(dòng)創(chuàng)建一個(gè)String對(duì)象刃唐;例如,String s =“this is a string”界轩; String對(duì)象是不可變的画饥,String一旦被創(chuàng)建,它的值不能被改變浊猾。
String類在不是原始數(shù)據(jù)類型
默認(rèn)值
在聲明字段時(shí)抖甘,不是必須要分配值。 聲明但未初始化的字段將由編譯器設(shè)置一個(gè)默認(rèn)值葫慎。 一般來說单山,默認(rèn)值為零或null(取決于數(shù)據(jù)類型)。 但是幅疼,依賴編譯器賦予字段默認(rèn)值米奸,通常被認(rèn)為是壞的編程風(fēng)格。
Data Type | Default Value |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
boolean | false |
char | '\u0000' |
String(or any object) | null |
局部變量略有不同; 編譯器不會(huì)為未初始化的局部變量分配一個(gè)默認(rèn)值爽篷。 如果您無法在聲明它的地方初始化局部變量悴晰,請(qǐng)確保在使用它之前為其分配一個(gè)值。 訪問未初始化的局部變量將導(dǎo)致編譯時(shí)報(bào)告錯(cuò)誤逐工。
字面量
您可能已經(jīng)注意到铡溪,在初始化基本數(shù)據(jù)類型的變量時(shí),不使用new關(guān)鍵字泪喊。 基本數(shù)據(jù)類型是內(nèi)置于語言中的特殊數(shù)據(jù)類型; 它們不是從類創(chuàng)建的對(duì)象棕硫。 直接為一個(gè)基本類型的變量賦值:
boolean result = true;
char capitalC = 'C';
byte b = 100;
short s = 10000;
int i = 100000;
整數(shù)字面量
整數(shù)數(shù)據(jù)類型,如果以字母L或l結(jié)尾袒啼,數(shù)據(jù)類型是long哈扮,否則是int類型; long類型結(jié)尾建議使用大寫字母L纬纪,因?yàn)樾懽帜竘難以與數(shù)字1區(qū)分開。
整數(shù)類型byte滑肉,short包各,int和long的值可以從int類型數(shù)據(jù)創(chuàng)建。 數(shù)據(jù)值超過int范圍能表示的整數(shù)類型可以從long類型數(shù)據(jù)創(chuàng)建靶庙。整數(shù)可以用這些進(jìn)制表示:
- 十進(jìn)制:其數(shù)字由數(shù)字0至9組成; 我們?nèi)粘S玫挠?jì)數(shù)就是十進(jìn)制計(jì)數(shù)
- 十六進(jìn)制:其數(shù)字由數(shù)字0至9和字母A至F組成
- 二進(jìn)制:其數(shù)字由數(shù)字0和1組成(您可以在Java SE 7和更高版本中創(chuàng)建二進(jìn)制數(shù)據(jù))
前綴0x表示十六進(jìn)制问畅,0b表示二進(jìn)制:
// The number 26, in decimal
int decVal = 26;
// The number 26, in hexadecimal
int hexVal = 0x1a;
// The number 26, in binary
int binVal = 0b11010;
浮點(diǎn)數(shù)字面量
浮點(diǎn)類型數(shù)據(jù),如果以字母F或f結(jié)尾六荒,數(shù)據(jù)類型是float护姆,否則其類型為double(可以選擇以字母D或d結(jié)尾)。
浮點(diǎn)類型(float和double)可以使用E或e(科學(xué)記數(shù)法)掏击,F(xiàn)或f(32位)和D或d(64位雙精度;默認(rèn)浮點(diǎn)類型) 來表示签则。
double d1 = 123.4;
// same value as d1, but in scientific notation
double d2 = 1.234e2;
float f1 = 123.4f;
字符(串)字面量
字符串類型char和String可以包含任何Unicode(UTF-16)字符。如果您的編輯器和文件系統(tǒng)允許铐料,您可以直接在代碼中使用這樣的字符。如果不是豺旬,您可以使用“Unicode轉(zhuǎn)義”钠惩,例如'\ u0108'(大寫C 頂上有個(gè)^符號(hào))或“S \ u00ED Se \ u00F1or”(西班牙語SíSe?or)。
字符使用‘單引號(hào)’
字符串使用“雙引號(hào)”
Java編程語言支持char和String的一些特殊轉(zhuǎn)義序列:\ b(退格)族阅,\ t(制表)篓跛,\ n(換行),\ f(換頁)坦刀,\ r(回車)愧沟,\“(雙引號(hào)),'(單引號(hào))和\(反斜杠)鲤遥。
有一個(gè)特殊字面量null沐寺,null可以作為任何類型的值,可以分配給任何變量(除了基本類型的變量)盖奈。null通常在程序中用來指示某些對(duì)象不可用混坞。
最后,還有一種特殊類型的字面量稱為類字面量钢坦,由類型名稱和“.class”構(gòu)成究孕。例如,String.class爹凹。類字面量是 表示該類型本身的對(duì)象(這個(gè)對(duì)象的類型是Class)厨诸。
java中任何一個(gè)類,都會(huì)有一個(gè)Class對(duì)象與這個(gè)類對(duì)應(yīng)禾酱,在這個(gè)Class對(duì)象中微酬,保存著實(shí)例化該類時(shí)所需要的基本信息绘趋,A.class 返回的就是類A的Class對(duì)象。
在數(shù)值字面量中使用下劃線字符
在Java SE 7和更高版本中得封,任何數(shù)量的下劃線字符(_)可以出現(xiàn)在數(shù)值字面量的數(shù)字之間的任何地方埋心,使用下劃線字符分隔數(shù)字,可以提高代碼的可讀性忙上。
long creditCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_99_9999L;
float pi = 3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101;
long bytes = 0b11010010_01101001_10010100_10010010;
您只能在數(shù)字之間使用下劃線; 不能將下劃線放在以下位置:
- 在數(shù)字的開始或結(jié)束
- 與浮點(diǎn)數(shù)字中的小數(shù)點(diǎn)相鄰
- 在F或L后綴之前
- 在字符串里的數(shù)字之間的位置
Arrays(數(shù)組)
數(shù)組是一個(gè)容器對(duì)象拷呆,容納一定數(shù)量的一種數(shù)據(jù)類型的值。 數(shù)組的長度在創(chuàng)建數(shù)組時(shí)確定疫粥;創(chuàng)建后茬斧,其長度是固定的。
數(shù)組中的每個(gè)條目都稱為元素梗逮,每個(gè)元素通過其數(shù)字索引訪問项秉。 如上圖所示,數(shù)字索引的編號(hào)從0開始慷彤;例如娄蔼,第9個(gè)元素用索引數(shù)字8訪問。
下面的程序ArrayDemo創(chuàng)建一個(gè)整數(shù)數(shù)組底哗,在數(shù)組中放入一些值岁诉,并將每個(gè)值打印到標(biāo)準(zhǔn)輸出。
class ArrayDemo {
public static void main(String[] args) {
// declares an array of integers
int[] anArray;
// allocates memory for 10 integers
anArray = new int[10];
// initialize first element
anArray[0] = 100;
// initialize second element
anArray[1] = 200;
// and so forth
anArray[2] = 300;
anArray[3] = 400;
anArray[4] = 500;
anArray[5] = 600;
anArray[6] = 700;
anArray[7] = 800;
anArray[8] = 900;
anArray[9] = 1000;
System.out.println("Element at index 0: "
+ anArray[0]);
System.out.println("Element at index 1: "
+ anArray[1]);
System.out.println("Element at index 2: "
+ anArray[2]);
System.out.println("Element at index 3: "
+ anArray[3]);
System.out.println("Element at index 4: "
+ anArray[4]);
System.out.println("Element at index 5: "
+ anArray[5]);
System.out.println("Element at index 6: "
+ anArray[6]);
System.out.println("Element at index 7: "
+ anArray[7]);
System.out.println("Element at index 8: "
+ anArray[8]);
System.out.println("Element at index 9: "
+ anArray[9]);
}
}
程序運(yùn)行輸出:
Element at index 0: 100
Element at index 1: 200
Element at index 2: 300
Element at index 3: 400
Element at index 4: 500
Element at index 5: 600
Element at index 6: 700
Element at index 7: 800
Element at index 8: 900
Element at index 9: 1000
在實(shí)際編程中跋选,您可能會(huì)使用循環(huán)結(jié)構(gòu)來循環(huán)遍歷數(shù)組的每個(gè)元素涕癣,而不是像上面的示例一樣每一個(gè)元素都用一行來單獨(dú)訪問。 但是前标,該示例清楚地說明了數(shù)組的語法坠韩。 您將在“控制流”章節(jié)了解各種循環(huán)結(jié)構(gòu)(for,while和do-while)炼列。
聲明一個(gè)數(shù)組
// declares an array of integers
int[] anArray;
數(shù)組聲明由兩部分組成:
- 數(shù)組的類型
- 數(shù)組的名稱
數(shù)組的類型寫為type[]只搁,其中type是數(shù)組里包含的元素的數(shù)據(jù)類型; 括號(hào)表示該變量是一個(gè)數(shù)組。 數(shù)組的大小不是其類型的一部分(這就是為什么括號(hào)是空的)俭尖。 數(shù)組的名稱與之前變量章節(jié)的命名規(guī)則一樣须蜗。 數(shù)組聲明實(shí)際上并沒有創(chuàng)建數(shù)組;它只是告訴編譯器這個(gè)變量是一個(gè)指定類型的數(shù)組目溉。
類似的明肮,可以聲明其他數(shù)據(jù)類型的數(shù)組:
byte[] anArrayOfBytes;
short[] anArrayOfShorts;
long[] anArrayOfLongs;
float[] anArrayOfFloats;
double[] anArrayOfDoubles;
boolean[] anArrayOfBooleans;
char[] anArrayOfChars;
String[] anArrayOfStrings;
你還可以把括號(hào)放在數(shù)組名字的后面:
// this form is discouraged
float anArrayOfFloats[];
但是,不鼓勵(lì)這種形式缭付;括號(hào)標(biāo)識(shí)了該變量為數(shù)組類型柿估,所以最好和類型名稱一起出現(xiàn)。
創(chuàng)建陷猫,初始化秫舌,訪問一個(gè)數(shù)組
創(chuàng)建數(shù)組兩種方式:
- 數(shù)組聲明后使用new操作符
// create an array of integers
anArray = new int[10];
如果沒有這句話的妖,則編譯器將打印如下所示的錯(cuò)誤,并且編譯失斪阍伞:
ArrayDemo.java:4: Variable anArray may not have been initialized.
給數(shù)組的元素賦值:
anArray[0] = 100; // initialize first element
anArray[1] = 200; // initialize second element
anArray[2] = 300; // and so forth
數(shù)組元素通過數(shù)字索引來訪問:
System.out.println("Element 1 at index 0: " + anArray[0]);
System.out.println("Element 2 at index 1: " + anArray[1]);
System.out.println("Element 3 at index 2: " + anArray[2]);
- 數(shù)組聲明嫂粟,創(chuàng)建,初始化一起完成:
int[] anArray = {
100, 200, 300,
400, 500, 600,
700, 800, 900, 1000
};
數(shù)組的長度由大括號(hào)里賦值給數(shù)組的數(shù)字的個(gè)數(shù)來決定墨缘,數(shù)字之間用逗號(hào)隔開星虹。
可以使用兩個(gè)或更多的中括號(hào)來聲明多維數(shù)組,比如 String[][] names镊讼。和C宽涌,F(xiàn)ortran語言中的數(shù)組不一樣的是,java中的多位數(shù)組的元素本身也是數(shù)組蝶棋,比如二維數(shù)組實(shí)際上是一個(gè)數(shù)組卸亮,它的每個(gè)元素都是一個(gè)一維數(shù)組。數(shù)組x的長度是數(shù)組中元素的個(gè)數(shù)玩裙,可以用x.length獲取該值兼贸;元素x[0],x[1],x[2],x[3],...,,x[x.length-1]也是數(shù)組,可以使用x[0].length,x[1].length,...,x[x.length-1].length獲取它們的長度吃溅。
下面是一個(gè)多維數(shù)組的例子:
class MultiDimArrayDemo {
public static void main(String[] args) {
String[][] names = {
{"Mr. ", "Mrs. ", "Ms. "},
{"Smith", "Jones"}
};
// Mr. Smith
System.out.println(names[0][0] + names[1][0]);
// Ms. Jones
System.out.println(names[0][2] + names[1][1]);
}
}
程序輸出如下:
Mr. Smith
Ms. Jones
二維數(shù)組就是將一維數(shù)組當(dāng)成元素溶诞,放到一個(gè)一維數(shù)組里去;三維數(shù)組就是將二維數(shù)組當(dāng)成元素放到一個(gè)一維數(shù)組里去:
一維數(shù)組{1罕偎,2,3}京闰,
二維數(shù)組{{1颜及,2,3}蹂楣,{4俏站,5,6}}痊土,
三維數(shù)組{{{1肄扎,2},{3赁酝,4}}犯祠,{{5,6}酌呆,{7衡载,8}}},
你可以使用內(nèi)建方法得到數(shù)組的大邢对:
System.out.println(anArray.length);
數(shù)組的復(fù)制
系統(tǒng)提供了數(shù)組復(fù)制的方法痰娱,可以讓用戶將數(shù)據(jù)從一個(gè)數(shù)組復(fù)制到另一個(gè)數(shù)組:
public static void arraycopy(Object src, int srcPos,
Object dest, int destPos, int length)
Object src是源數(shù)組弃榨,Object dest是目標(biāo)數(shù)組;將源數(shù)組的值復(fù)制到目標(biāo)數(shù)組梨睁;srcPos是源數(shù)組復(fù)制的起始位置鲸睛,destPos是目標(biāo)數(shù)組復(fù)制的起始位置,length是復(fù)制的元素的個(gè)數(shù):
class ArrayCopyDemo {
public static void main(String[] args) {
char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e',
'i', 'n', 'a', 't', 'e', 'd' };
char[] copyTo = new char[7];
System.arraycopy(copyFrom, 2, copyTo, 0, 7);
System.out.println(new String(copyTo));
}
}
輸出:
caffein
數(shù)組操作
編程中數(shù)組是一個(gè)很強(qiáng)大也經(jīng)常會(huì)用到的數(shù)據(jù)類型坡贺。Java提供了一些常用的數(shù)組操作方法官辈,比如上面的例子用了System類中的方法arraycopy來將數(shù)組中的元素復(fù)制到另一個(gè)數(shù)組中,而不是手動(dòng)迭代源數(shù)組的元素拴念,并將每個(gè)元素放入目標(biāo)數(shù)組钧萍。 這樣開發(fā)人員可以只需要使用一行代碼調(diào)用方法來完成數(shù)組復(fù)制的功能。
為了方便政鼠,Java SE通過類java.util.Arrays提供了一些方法來執(zhí)行數(shù)組操作(常見操作比如復(fù)制风瘦,排序和搜索數(shù)組)。 例如公般,前面的示例可以修改為使用java.util.Arrays類的copyOfRange方法万搔,如下面的ArrayCopyOfDemo示例所示。 這兩個(gè)方法的區(qū)別在于官帘,使用copyOfRange方法不需要在調(diào)用方法之前創(chuàng)建目標(biāo)數(shù)組瞬雹,因?yàn)槟繕?biāo)數(shù)組由該方法返回:
class ArrayCopyOfDemo {
public static void main(String[] args) {
char[] copyFrom = {'d', 'e', 'c', 'a', 'f', 'f', 'e',
'i', 'n', 'a', 't', 'e', 'd'};
char[] copyTo = java.util.Arrays.copyOfRange(copyFrom, 2, 9);
System.out.println(new String(copyTo));
}
}
從這個(gè)程序的輸出是一樣的(caffein),雖然它只用了更少的代碼刽虹。注意酗捌,copyOfRange方法的第二個(gè)參數(shù)是復(fù)制的源數(shù)組的初始索引位置(包含),而第三個(gè)參數(shù)是將要復(fù)制的索引的結(jié)束為止(不包含)涌哲; 在此示例中胖缤,要復(fù)制的范圍不包括索引為9(字符a)的數(shù)組元素。
java.util.Arrays類還包括了一些其他有用的數(shù)組操作:
- 在數(shù)組中搜索一個(gè)給定的值阀圾,返回值的索引位置 (binarySearch).
- 比較兩個(gè)數(shù)組是否相等 (equals).
- 將一個(gè)值填到數(shù)組的每個(gè)元素位置(fill).
- 按升序?qū)?shù)組排序哪廓,用sort方法或者用Java SE 8中引入的parallelSort方法執(zhí)行。在多處理器系統(tǒng)上對(duì)大型數(shù)組進(jìn)行并行排序比順序排序要更快初烘。
總結(jié)
Java編程語言使用“字段”和“變量”作為其術(shù)語的一部分涡真。實(shí)例變量(非靜態(tài)字段)對(duì)每個(gè)對(duì)象是唯一的。類變量(靜態(tài)字段)是使用static修飾符聲明的字段肾筐;一個(gè)類只有一份哆料,而不管該類被實(shí)例化的次數(shù)。局部變量是在方法中存儲(chǔ)臨時(shí)狀態(tài)的變量吗铐。參數(shù)是為方法提供額外信息的變量剧劝;局部變量和參數(shù)總是被分類為“變量”(而不是“字段”)。在命名字段或變量時(shí)抓歼,您應(yīng)該必須命名的規(guī)則和約定讥此。
八種基本數(shù)據(jù)類型:byte拢锹,short,int萄喳,long卒稳,float,double他巨,boolean和char充坑。 java.lang.String類表示字符串。編譯器將為上述類型的字段分配一個(gè)默認(rèn)值染突;對(duì)于局部變量捻爷,永遠(yuǎn)不會(huì)分配默認(rèn)值。數(shù)組是容納單個(gè)類型的固定數(shù)量的值的容器對(duì)象份企;數(shù)組的長度在創(chuàng)建數(shù)組時(shí)建立也榄;創(chuàng)建后,其長度是固定不變的司志。