java 1.7 数组
数组
声明:
语法:
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