java数组的声明、创建和遍历

时间:2023-03-08 19:34:05
java数组的声明、创建和遍历

一、数组的声明、创建

1、一维数组

先是声明

dataType[] arrayRefVar; // 首选的方法

数据类型[] 数组名;

dataType arrayRefVar[]; // 效果相同,但不是首选方法

数据类型 数组名[];

创建

(1)

arrayRefVar = new dataType[arraySize];

数组名 = new 数据类型[数组大小];

(2)

  dataType[] arrayRefVar = new dataType[arraySize];
  数据类型[] 数组名 = new 数据类型[数组大小];
  (3)
  dataType[] arrayRefVar = {value0,value1, ..., valuek};
  数据类型[] 数组名 = {值1,值2······}

另外,数组大小可以用:数组名.length 表示。

2、二维数组

声明

和一维数组差不多,多个[]。

创建

type[][] typeName = new type[typeLength1][typeLength2];
数据类型[][] 数组名 = new 数据类型[长度1][长度2];
(1)直接为每一维分配空间
二维数组可以看成是一个行列式,比如 int a[][] = new int[2][3]; 二维数组 a 是一个两行三列的数组。
(2)从最高维开始,分别为每一维分配空间
String s[][] = new String[2][];
s[0] = new String[2];
s[1] = new String[3];
s[0][0] = new String("Good");
s[0][1] = new String("Luck");
s[1][0] = new String("to");
s[1][1] = new String("you");
s[1][2] = new String("!");

s[0]=new String[2]s[1]=new String[3] 是为最高维分配引用空间,也就是为最高维限制其能保存数据的最长的长度,然后再为其每个数组元素单独分配空间 s0=new String("Good") 等操作。这时二维数组就不能看成是行列式了。


二、数组遍历

(1)for循环

一维数组:

public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有数组元素
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i] + " ");
}
}

  二维数组:

public class Test{
public static void main(string[] args) {
int[][] myList = {(1,2,3),(4,5),(6)};
for(int i = 0; i < myList.length ;i++) {
for(int j = 0; j < myList.length ;j++) {
system.out.println(myList[i][j] + " ");
}
}
}
}

(2)for-each循环

一维数组:

public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有数组元素
for (double element: myList) {
System.out.println(element);
}
}
}

二维数组:

public class Test{
public static void main(String[] args) {
int[][] arr = {(1,2,3),(4,5),(6)};
for(int[] x; arr) {
for(int y; x) {
system.out.println(y + " ");
}
}
}
}
  • for-each循环只能用来遍历,无法在遍历的过程中对数组或者集合进行修改。
  • foreach不是java中的关键字。

取材于菜鸟教程和百度百科。