Java数组

2

Java数组

  在前面已经介绍了Java的运算符和流程控制语句,这里主要介绍Java的数组,建议大家在学习Java数组之前先去学习C++中的数组,可以更好的理解数组的存放方式和地址的概念。

创建数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//Java创建数组有三种常见方式,可以先定义然后赋初值,也可以定义的时候赋初值
//创建时数组的大小必须要固定,和C++不同的是可以使用变量作为数组的长度,在C++中int a[b]是错误的语法,在Java中new int[b]是合法的。虽然第二种和第三种方式没有指定数组大小,但是编译器会根据值的个数自动确定。
//和C++不同点还在于初始化的问题,Java中整型默认为0,浮点型默认为0.0,字符型默认为"\u0000",布尔默认false,引用类型默认为null。C++中一般需要先赋值再使用,否则容易出错。
//C++中打印数组名是数组的首个元素的地址,Java中打印数组名得到的是内存地址的哈希值。
//C++中计算数组长度,需要用总的空间大小除以每一个元素的大小,但是Java中可有使用数组名.length获取数组长度,是一个常用的操作。
public class Array {
public static void main(String[] args) {
int[] a = new int[5];

for (int i = 0; i < 5; i++) {
a[i] = i;
}

int[] b = new int[]{ 1, 2, 3, 4, 5 };
int[] c = { 1, 2, 3, 4, 5 };

for (int i = 0; i < 5; i++) {
System.out.printf("a[%d] = %d ", i, a[i]);
System.out.printf("b[%d] = %d ", i, b[i]);
System.out.printf("c[%d] = %d\n", i, c[i]);
}
System.out.println("a的长度为: " + a.length + " a的哈希值为: " + a);
System.out.println("b的长度为: " + b.length + " b的哈希值为: " + b);
System.out.println("c的长度为: " + c.length + " c的哈希值为: " + c);
}
}

1

二维数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Array {
public static void main(String[] args) {
//二维数组和一维数组类似,有相似的创建方法,但是和C++不同点在于创建二维数组不能省略第二个维度,而且静态初始化时必须写成二维的形式。不可以写成int[][4] c = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };但是C++这么写是合法的。
int[][] a = new int[3][4];
int[][] b = new int[][]{{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int[][] c = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} };

//和C++不同的是,Java二维数组中每一个一维数组的长度可以不相同。
int[][] d = new int[3][];
d[0] = new int[]{1, 2, 3};
d[1] = new int[]{1, 2, 3, 4};
d[2] = new int[]{1, 2, 3, 4, 5};
for (int[] x: d){
for (int xx: x){
System.out.print(xx + " ");
}
System.out.println();
}

System.out.println("二维数组d的长度为: " + d.length + " 二维数组d的哈希值为: " + d);
System.out.println("一维数组d[0]的长度为: " + d[0].length + " 一维数组d[0]的哈希值为: " + d[0]);
System.out.println("一维数组d[1]的长度为: " + d[1].length + " 一维数组d[1]的哈希值为: " + d[1]);
System.out.println("一维数组d[2]的长度为: " + d[2].length + " 一维数组d[2]的哈希值为: " + d[2]);
}
}

4

Java小结

  数组是我们存放数据的好方法,就如同抽屉一样,每一个抽屉都放置同样的物品,数组的学习非常重要,无论以后从事什么样的研究,数组的使用都是必不可少的,因此需要熟练掌握。

-------------本文结束感谢您的阅读-------------
0%