java 1.7 陣列
阿新 • • 發佈:2022-03-23
陣列
宣告:
語法:
dataType [] arrsyRefvar;//首選
或 dataTybe arrsyRefvar[ ]
例項:
``
int[] arrsys;
int arrsy[];
建立:
語法:
arrayRefVar = new dataTyoe[arraySize];
ataType[] arrayRefVar = {value0, value1, ..., valuek};
上面的語法語句做了兩件事:
一、使用 dataType[arraySize] 建立了一個數組。
二、把新建立的陣列的引用賦值給變數 arrayRefVar。
陣列變數的宣告,和建立陣列可以用一條語句完成,如下所示
dataType[] arrayRefVar = new dataType[arraySize];
例項1:
``
public class Test019 { public static void main(String[] args) { //int[] arrsys; // int arrsy[]; //定義陣列 int[] arrsy=new int[5];//定義陣列 arrsy [0]=1; arrsy [1]=2; arrsy [2]=3; arrsy [3]=4; arrsy [4]=5; for (int i = 0; i < arrsy.length; i++) { System.out.print(arrsy[i]+" ");//遍歷陣列。 } } }
輸出結果:1 2 3 4 5
例項2:
``
public class Test019 { public static void main(String[] args) { //int[] arrsys; // int arrsy[]; //定義陣列 int[] array=new int[5];//定義陣列 array [0]=1; array [1]=2; array [2]=3; array [3]=4; array [4]=5; int sum=0; //計算陣列元素的和。 for (int i = 0; i < array.length; i++) { sum+=array[i]; } System.out.println(sum); } }
輸出結果 :15
例項3:
public static void main(String[] args) {
//int[] arrsys;
// int arrsy[];
//定義陣列
int[] array=new int[5];//定義陣列
array [0]=1;
array [1]=2;
array [2]=3;
array [3]=4;
array [4]=5;
int max= array[0];
for (int i = 1; i <array.length; i++) {
if(array[i]>max){
max=array[i];
}
輸出結果:5
陣列的使用:
for-each 迴圈:
語法:
for(type element: array) {
System.out.println(element);
}
例項:
``
public static void main(String[] args) {
//int[] arrsys;
// int arrsy[];
//定義陣列
int[] array=new int[5];//定義陣列
array [0]=1;
array [1]=2;
array [2]=3;
array [3]=4;
array [4]=5;
for (int i : array) {
System.out.print(i);
}
}}
輸出結果:1 2 3 4 5
陣列作為函式的引數:
陣列可以作為引數傳遞給方法。
列印陣列元素
``
public static void main(String[] args) {
//int[] arrsys;
// int arrsy[];
//定義陣列
int[] array=new int[5];//定義陣列
array [0]=1;
array [1]=2;
array [2]=3;
array [3]=4;
array [4]=5;
printArrar(array);
}
//列印陣列元素
public static void printArrar(int[] array){
for (int i = 0; i <array.length; i++) {
System.out.print(array[i]+" ");
}
}
}
輸出結果:1 2 3 4 5
陣列作為函式的返回值:
反轉陣列:
``
public static void main(String[] args) {
//int[] arrsys;
// int arrsy[];
//定義陣列
int[] array=new int[5];//定義陣列
array [0]=1;
array [1]=2;
array [2]=3;
array [3]=4;
array [4]=5;
int[] reverse=reverse(array);
printArrar(reverse);
}
//反轉陣列
public static int [] reverse(int[] array){
int[] result=new int [array.length] ;
//反轉
for (int i = 0,j=result.length-1; i < array.length; i++,j--) {
result[j]=array[i];
}
return result;
}
//複製陣列
public static void printArrar(int[] array){
for (int i = 0; i <array.length; i++) {
System.out.print(array[i]+" ");
}
}
}
輸出結果:5 4 3 2 1
多維陣列
多維陣列可以看成是陣列的陣列,比如二維陣列就是一個特殊的一維陣列,其每一個元素都是一個一維陣列,例如:
String[][] str = new String [3] [4];
多維陣列的動態初始化:
(以二維陣列為例)
格式:
type[][] typeName = new type[typeLength1] [typeLength2];
例如:
int [][] array = {{1,2},{2,3},{3,4}};
例項1:
取出二維陣列中的某個元素:
``
public static void main(String[] args) {
int [][] array = {{1,2},{2,3},{3,4}};
System.out.println(array[1][1]);
System.out.println(array[0][1]);
}
}
輸出結果:3
2
例項:
遍歷二維陣列中的元素:
``
public static void main(String[] args) {
int [][] array = {{1,2},{2,3},{3,4}};
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j]+" ");
}
}
}
}
輸出結果:1 2 2 3 3 4