【Java學習筆記】(七)Java裏的數組

一、一維數組

1.計算機語言中的數組具有三大特性

①一致性:數組只能保存相同的數據類型,元素的數據類型可以是任何相同的數據類型。
②有序性:數組中的元素是有序的,通過下標訪問。
③不可變性:數組一旦初始化,長度不可變。

2.Java數組聲明

元素數據類型[ ] 數組變量名;
元素數據類型 數組變量名[ ];

int array[];
float[] array;
String array[];
Date[] dateArray;

3.一維數組的初始化

(1)靜態初始化
靜態初始化就是將數組的元素放到大括號中。

int[] array;
//靜態初始化數組
array={1,2,3,4,5,6,7};
String[] arr;
//靜態初始化數組
arr={"張三","李四","王五"};
//聲明的同時並靜態初始化
int Array[]={1,2,3,4,5,6,7,8};
String Arr[]={"張三","李四","王五"};

(2)動態初始化
動態初始化使用new運算符分配指定長度的內存空間。

int array[];
//動態初始化數組
array=new int[4];
array[]={0,1,2,3};
//聲明並動態初始化數組
int Array[]=new int[4];
Array[]={1,2,4,5};

4.一維數組合並

數組的長度是不變的,想要合併兩個不同的數組,就要創建一個新的數組,新數組的長度是兩個數組的長度之和。

public class HelloJava{
	public static void main(String args[]){
		int array1[]={1,2,3,4,5};
		int array2[]={6,7,8,9};
		int array[]=new int[array1.length+array2.length]
		for(int i=0;i<array.length;i++){
			if(i<array.length) 
				array[i]=array1[i];
			else 
				array[i]=array2[i-array1.length];
		}
		System.out.println("合併後的數組爲:");
		for(int element:array)
		System.out.println("%d",element);
	}
}

二、多維數組

1.二維數組聲明

語法如下:
元素數據類型[ ][ ] 數組變量名;
元素數據類型 數組變量名[ ][ ];
元素數據類型[ ] 數組變量名[ ];

int array[][];
int[][] array;
int[] array[];

2.二維數組的初始化

(1)靜態初始化

int array[][]={
	{1,2,3},
	{4,5,6},
	{7,8,9},
	{10,11,12}
}//創建4X3二維數組並靜態初始化

(2)動態初始化

int[][] array=new int[4][3];
array[][]={
	{1,2,3},
	{4,5,6},
	{7,8,9},
	{10,11,12}
}
實例:計算二維數組每個元素的平方根

```c
public class Sakura{
	public static void main(String args[]){
			int[][] array=new int[4][3];
			array[][]={
				{1,2,3},
				{4,5,6},
				{7,8,9},
				{10,11,12}
				};
			double Array[][]=new double[4][3];
			for(int i=0;i<intArray.length;i++){
				doubleArray[i][j]=Math.sqrt(array[i][j]);
			}
			//打印數組
			for(int i=0;i<Array.length;i++)
				for(int j=0;j<Array[i].length;j++)
					System.out.printf(Array[i][j]);
				System.out.print("\n");
		}
	}
}

三、不規則數組

例如:在一個二維數組中,每一個一維數組的長度不同
(1)靜態初始化不規則數組

int array[][]={
	{1,2,3,4},
	{5,6,7},
	{8,9},
	{10}
};

(2)動態初始化不規則數組

int array[][]=new int[4][];
array[0]=new int[4];
array[1]=new int[3];
array[2]=new int[2];
array[3]=new int[1];
array[][]={
	{1,2,3,4},
	{5,6,7},
	{8,9},
	{10}
};

(3)不規則數組實例

public class HelloWorld{
	public static void main(String args[]){
		int intArray[][]=new int[4][];
		intArray[0]=new int[2];
		intArray[1]=new int[1];
		intArray[2]=new int[3];
		intArray[3]=new int[3];
		for(int i=0;i<intArray.length;i++)
			for(int j=0;j<intArray[i].length;j++)
				intArray[i][j]= i+j;
		for(int[] row:intArray){
			for(int element:row){
				System.out.print(element);
				System.out.print('\t);
			}
			System.out.println();
		}
	}
}

(4)不規則數組越界
在不規則數組初始化後,訪問不存在的元素會產生下標越界異常。

如果覺得文章不錯的話,記得三連哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章