一堆數(shù)組的使用
取得數(shù)組長度 month.length
數(shù)組是從0開始索引的狰晚,數(shù)組的第一個元素是menth[0] //取得下標為0的數(shù)芙粱,也就是第一個數(shù)
//使用12月份的天數(shù)簡單演示一下數(shù)組的使用方法
class Meoth
{
public static void main(String[] args)
{
//定義一個長度為12數(shù)組,并使用12月份的天數(shù)初始化
int month[]={31,28,31,30,31,30,31,31,30,31,30,31};
//注意:數(shù)組的下標(索引)從0開始
//method.length里存儲著month的長度
for(int i=0;i<=month.length;i++)
{
System.out.println("第"+(i+1)+"月份天氣為"+month[i]+"天");
}
}
}
一維數(shù)組
一維數(shù)組的聲明與內(nèi)存分配
1陨瘩,聲明數(shù)組
2拆祈,分配內(nèi)存給該數(shù)組
語法例:
數(shù)據(jù)類型 [ ] 數(shù)組名; //聲明一堆數(shù)組
數(shù)組名=new 數(shù)組類型[個數(shù)] //分配內(nèi)存給數(shù)組
關(guān)鍵字new是命令編譯器根據(jù)括號里的個數(shù)在內(nèi)存中分配一塊內(nèi)存供該數(shù)組使用
例:
int [ ] score; //聲明整型數(shù)組
score=new int[3]; //為整型數(shù)組score分配內(nèi)存空間放接,其元素個數(shù)為3
兩行變一行簡化為例:
數(shù)據(jù)類型 [ ] 數(shù)組名 = new 數(shù)據(jù)類型 [個數(shù)];
int [ ] score = new int [11];
一維數(shù)組的使用
//創(chuàng)建一維數(shù)組瞳抓,并輸出默認初始值
import java.util.Random;//引入Java.util.Randon包
class Main
{
public static void main(String args[])
{
//創(chuàng)建一個Random對象
Random rand=new Random();
//聲明整數(shù)型數(shù)組a
int[] a=null;
//開辟內(nèi)存空間埃疫,rand.nextInt(10)返回一個1到10的隨機數(shù)
a=new int[rand.nextInt(10)];
System.out.println("數(shù)組的長度是"+a.length);
for(int i=0;i<a.length;i++)
{
//rand.nextInt(100)返回一個1到100的隨機數(shù)
a[i]=rand.nextInt(100);
System.out.println("a["+i+"]="+a[i]);
}
}
}
1,Java中Java.util包中的Random類作用是產(chǎn)生隨機數(shù)
2挨下,創(chuàng)建Random類型的對象rand熔恢,Random對象可以更加靈活產(chǎn)生隨機數(shù)
3脐湾,nextInt()是類型Random對象中產(chǎn)生隨機數(shù)的一種方法
**程序稍微修改 例**
import java.util.Random;
public class Main
{
public static void main(String args[])
{
//創(chuàng)建一個Random對象
Random rand=new Random();
int[] a=null; //聲明整型數(shù)組a
int[]b=null; //聲明整型數(shù)組b
//動態(tài)申請內(nèi)存臭笆,rand.nextInt(10)返回一個1到10的隨機整型數(shù)
a=new int[rand.nextInt(10)];
b=a; //將a數(shù)組的引用賦值給數(shù)組b這時a和b指向的數(shù)組對象是相同的。換句話說a和b是一套數(shù)組秤掌,兩套名字
System.out.println("數(shù)組a的長度是"+a.length);
System.out.println("數(shù)組b的長度是"+b.length);
for(int i=0;i<a.length;++i)
{
//rand.nextInt(100)返回一個0到100的隨機整型
a[i]=rand.nextInt(100);
System.out.print("a["+i+"]="+a[i]+"\t");
System.out.println("b["+i+"]="+b[i]);
}
}
}
判斷數(shù)組最大值和最小值
//求數(shù)組最大值和最小值
public class Main
{
public static void main(String args[])
{
int max;
int min;
int[] a={1,3,2,0,8};
max=min=a[0];
for(int i=0;i<a.length;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
System.out.println(max);
System.out.println(min);
}
}
二維數(shù)組
1愁铺,二維數(shù)組聲明方式和一維數(shù)組相似,內(nèi)存分配一樣用new這個關(guān)鍵字闻鉴。其聲明與分配內(nèi)存的格式如下
數(shù)組類型[][] 數(shù)組名;
數(shù)組名=new 數(shù)據(jù)類型[行的個數(shù)][列的個數(shù)];
簡潔方式如下
數(shù)據(jù)類型[][] 數(shù)組名=new 數(shù)據(jù)類型[行的個數(shù)][列的個數(shù)];
————————————————————————
2茵乱,如果想直接在聲明時賦初始值,可以用大括號完成孟岛。只要在數(shù)組的聲明格式后面加上所賦的初值即可瓶竭,如下
數(shù)據(jù)類型[][] 數(shù)組名={
{第0行初值},
{第1行初值},
……
{第n行初值}
};
————————————————————————
*3,需要注意用戶戶不需要定義數(shù)組的長度渠羞,因此數(shù)組名后面的中括號里不必填入任何內(nèi)容斤贰,此外在大括號內(nèi)還有幾組大括號,每組大括號內(nèi)的初值會依次指定給數(shù)組的第0次询,1……n行元素荧恍。例
int[][] num ={
{23,45,21,45}, //二維數(shù)組第0行的初值賦值
{45,29,46,28} //二維數(shù)組第1行的初值賦值
};
語句聲明了一個整型數(shù)組num,數(shù)組有2行4列共8個元素屯吊,大括號里的幾組初值會分別依序制定給各行里的元素存放送巡,num[0][0]為23,num[0][1]為45盒卸,……骗爆,num[1][3]為28。
————————————————————————
*4蔽介,Java在定義二維數(shù)組更加靈活摘投,允許二維數(shù)組每行元素均不相同糟需。例
int[][] num={
{42,54,34,67}, //本行4個元素
{33,34,36}, //本行3個元素
{12,34,56,78,90} //本行5個元素
};
————————————————————————
5,下面語句是聲明整型數(shù)組num并分配空間谷朝,其中第一行有4個元素洲押,第二行3個元素,第三行5個元素
int[][] num=null; //聲明整型數(shù)組
num=new int[3][]; //分配空間
num[0]=new int[4]; //第一行元素為4
num[1]=new int[3]; //第二行元素為3
num[2]=new int[5]; //第三行元素為5
取得二維數(shù)組的行數(shù)與特定行的元素個數(shù)圆凰。利用length獲取杈帐。例
數(shù)組名.length //取得數(shù)組的行數(shù)
數(shù)組名[行的索引].length//取得特定行元素個數(shù)
num.length; //計算數(shù)組num的行數(shù)其值為3
num[0].length; //計算數(shù)組的第一行元素個數(shù)其值為4
num[2].length; //計算數(shù)組num的第三行元素個數(shù),其值為5
————————————————————————
二維數(shù)組的引用及訪問
//演示二維數(shù)組的使用专钉,這里采用靜態(tài)賦值方式
public class twoDimensionArray
{
public static void main(String args[])
{
int sum=0;
int[][] num={
{30,35,26,32},
{33,34,30,29}
}; //聲明數(shù)組并設(shè)置初值
for(int i=0;i<num.length;++i)
{
System.out.print("第"+(i+1)+"個人成績?yōu)? ");
for(int j=0;j<num[i].length;++j)
{
System.out.print(num[i][j] +" ");
sum+=num[i][j];
}
System.out.println();
}
System.out.println("\n 總成績是"+sum+"分");
}
}
————————————————————————
多維數(shù)組的使用
class twoDimensionArray
{
public static void main(String args[])
{
int sum=0;
int[][][] a={
{{5,1},{6,7}},
{{9,4},{8,3}}
}; //聲明數(shù)組并設(shè)置初值
//三維數(shù)組的輸出需要采用三層for循環(huán)方式輸出
for(int i=0;i<a.length;++i) //輸出數(shù)組內(nèi)容并計算總和
{
for(int j=0;j<a[i].length;++j)
{
for(int k=0;k<a[j].length;++k)
{
System.out.print("a["+i+"]["+j+"]["+k+"]=");
System.out.println(a[i][j][k]);
sum+=a[i][j][k];
}
}
}
System.out.println("sum="+sum);
}
}