數(shù)組是由同一類型對象護著基本數(shù)據(jù)組成。
數(shù)組是對象,先定義數(shù)組名字,用動態(tài)的方式分配數(shù)組空間,再初始化的。
每個數(shù)組都有一個成員變量length,即含有元素的個數(shù)。
Java中數(shù)組的創(chuàng)建和使用
數(shù)組聲明->創(chuàng)建->元素初始化->使用數(shù)組
1. 數(shù)組引用的聲明
-無需指明元素個數(shù),也不為數(shù)組元素分配內(nèi)存空間
-必須初始化以后才能使用,不然就是空引用。
-兩種數(shù)組聲明方式:Type[] arrayName; ?或者 Type arrayName[];
2.創(chuàng)建數(shù)組(使用動態(tài)分配的方法)
-用關鍵字new構(gòu)成數(shù)組的創(chuàng)建表達式,制定數(shù)組類型和元素個數(shù)。元素個數(shù)可以是常量或者變量(只要變量已經(jīng)取得值了就行)。例如:int[] ai; ai=new int[10];
-也可以將數(shù)組的聲明和創(chuàng)建一并執(zhí)行:int ai[]=new int [10];
-也可以在一條語句中創(chuàng)建多個數(shù)組:String[] s1=new String[3],s2=new String[8];
3.數(shù)組元素初始化
-如果定義時不初始化,是不會有垃圾數(shù)據(jù)的,數(shù)值型自動初始化為0;引用類型自動變?yōu)榭找?null)?(什么意思?);boolean類型默認值為false;
-初始化方法:聲明數(shù)組名時,給出數(shù)組初值:int a[]={22,33,44,55};
4.數(shù)組的使用
-單獨使用元素:arrayName[index],index類型必須是int,short,byte,或char
-下標計數(shù)從0開始
-元素個數(shù)即為數(shù)組長度,可以通過arryName.length得到
-數(shù)組名是一個引用(即,就是一個名字)例如:
a1數(shù)組在聲明時就已經(jīng)初始化了,一共有五個元素,而a2數(shù)組只進行了聲明,也就是只是一個引用。當執(zhí)行a2=a1;語句時,有點像C語言中的指針,a1、a2兩個引用都指向了同一個數(shù)組。最后兩個for循環(huán),無論是通過a1還是a2名稱,都是去訪問了同一個數(shù)組。也就是同一個數(shù)組的兩個名字。
-當我們真正想要復制一個數(shù)組出來,則可以用arraycopy這個方法:
①數(shù)組元素部分復制:arraycopy的參數(shù)依次是:源數(shù)組,從源數(shù)組哪一個位置開始復制,目標數(shù)組,目標數(shù)組開始復制的位置,一共復制多少個字符。
上面插圖的最后一句,表明在Java中,字符數(shù)組不能夠被當做字符串直接輸出,而是將字符數(shù)組作為初始值,構(gòu)造一個新的String對象,在進行輸出。
以上,一維數(shù)組
一下,多維數(shù)組(以二維數(shù)組為例):
-二維數(shù)組的聲明和構(gòu)造:
? ①int[][] myArray; //myArray是一個指向二維整數(shù)數(shù)組的引用,初始值為null(空引用)。使用時還需要初始化(new)。
? ②int[][] myArray=new int[3][5]; //同時構(gòu)造并初始化引用,只是有了空間,沒有初始值,默認均為0。
? ③int[][] myArray={{8,1,2,2,9},{1,9,4,0,3},{1,1,1,3,3}}; //也就是同時引用、構(gòu)造并初始化數(shù)組。
例如:
-Java中二維數(shù)組的長度是指行的數(shù)量,而非所有元素!
-而每一行都有自己的長度。Java中每一行的長度可以不一樣的。例如上述的第一行,長度是3;
輸出結(jié)果:第一行是二維數(shù)組的行數(shù),接下來分別是每一行的元素個數(shù)
總的來說,Java中的二維數(shù)組就是由一維數(shù)組構(gòu)成的數(shù)組!
課后習題疑問:
6. 對于下列代碼
String str1=”java”;
String str2=”java”;
String str3 = new String(“java”);
StringBuffer str4 = new StringBuffer(“java”);
以下表達式的值為true的是()
str1==str2
str1==str4
str2==str3
str3==str4