一、数组的声明、创建
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中的关键字。
取材于菜鸟教程和百度百科。
原文地址:https://www.cnblogs.com/cjs666/p/10778235.html
时间: 2024-09-29 03:28:40