JavaSE学习笔记-数组
-
什么是数组
- 是一种复合数据类型,它由一系列相同类型的元素(Element)组成。
- 和结构体成员类似,数组
count
的4个元素的存储空间也是相邻的。结构体成员可以是基本数据类型,也可以是复合数据类型,数组中的元素也是如此。
-
数组怎么声明?
- 声明数组变量不能指定长度 double[] scores;
- 给数组分配空间 scores = new double[5];
- 为了兼容C语言,建议不要在使用 int age[];
-
数组的赋值:
-
静态赋值:String[] names = new String[]{“张三”,“李四”,“王五”};
-
动态赋值:数组下标取值范围为[0,(数组长度-1))]
double scores = new double[5]; Scanner sc = new Scanner(System.in); for(int i = 0; i < scores.length; i++){ System.out.println("请输入第"+ (i+1) +"个同学的成绩>>"); scores[i] = sc.nextDouble(); }
-
-
数组的遍历:
-
for循环遍历
String[] names = new String[]{"张三","李四","王五"}; for(int i = 0; i < scores.length; i++){ System.out.print(scores[i] + "\t"); }
-
foreach遍历
String[] names = new String[]{"张三","李四","王五"}; for(String name : names){ System.out.print(name + "\t"); }
-
Arrays工具类
String[] names = new String[]{"张三","李四","王五"}; String string = Arrays.toString(names); System.out.println(string);
-
-
二维数组
- 声明数组变量
int[][] a;
- 分配空间,一定要给一维数组指定空间
a = new int[2][];
- 声明数组变量
-
二维数组赋值
byte[][] b = new byte[][]{ {1,2,3}, {4,5} };
- 注意静态数组赋值时,会根据元素个数分配分配空间,不需要再自定数组元素的个数。
- Java中没有真正的二维数组,只有数组的数组,数组没必要保持矩阵。
- 矩阵:第一个数组的长度没有必要和第二个数组的长度一样,也就是说每个数组的长度没必要一样。
-
遍历二维数组
byte[][] b = new byte[][]{ {1,2,3}, {4,5} }; for (int i = 0; i < b.length; i++) { for (int j = 0; j < b[i].length; j++) { System.out.print(b[i][j] + "\t"); } System.out.println(); }